Bash에서 Control-w를 다시 매핑하는 방법은 무엇입니까?

Bash에서 Control-w를 다시 매핑하는 방법은 무엇입니까?

이 포럼과 다른 곳에서 비슷한 질문에 대한 답변을 많이 읽었지만 제대로 작동하지 않습니다.

단어를 다시 매핑 Ctrl하고 제거 하려고 합니다.W앞으로뒤처지는 것보다. Esc+ do 를 사용하여 이 작업을 수행할 수 있다는 것을 알고 있지만 D이는 나에게도 학습 연습입니다.

내가 읽은 내용을 바탕으로 다음을 추가했습니다 ~/.inputrc.

$include /etc/inputrc
Control-w: kill-word
  • 분명히 다른 바인딩을 포함하려면 첫 번째 줄이 필요합니다.
  • 두 번째로 시도한 명령 Control-w"\C-w"시도한 명령에 kill-word대해 shell-kill-word.
  • bind -f ~/.inputrc변경 사항을 시험해 보기 위해 , Ctrl+ X, Ctrl+ 를 R시도한 다음 bash -l간단히 새 터미널을 열었습니다.

중요한 단계를 놓치고 있거나 오해하고 있는 것 같지만 아이디어가 부족합니다.

저는 센토스 8을 사용하고 있습니다.

답변1

구성된 readline 라이브러리는 inputrc다음의 바인딩에 해당하는 바인딩을 설정합니다.터미널 드라이버요리된 입력용입니다. 이는 명령을 사용하여 구성할 수 있기 때문에 stty 키라고도 합니다 stty. +는 Ctrl친숙한 터미널 인터페이스에서 W이전 단어()의 바인딩을 삭제하는 것 입니다.werase

이러한 바인딩이 우선적으로 적용됩니다 .inputrc. 이 동작을 끄려면 다음 줄을 추가하세요 .inputrc.

set bind-tty-special-chars off

기본이 아닌 요리된 터미널 키 바인딩을 구성하지 않은 경우 stty이것이 bash 바인딩에 영향을 미치지 않을 것이라고 생각합니다.

관련 정보