"\M-\C-k": kill-whole-line
내 파일을 넣으면 ~/.inputrc
결과는 "\213": kill-whole-line
(로 표시 됩니다 bind -p
)입니다.
그러나 ( ) \M-
로 변경하면 키 바인딩이 예상대로 작동합니다.\e
"\e\C-k": kill-whole-line
Readline을 사용하여 키 바인딩을 정의할 때 \M-\C-
("meta-control")을 접두사로 어떻게 사용합니까 bash
?
답변1
\M-
고장나서 사용할 수 없습니다 . 계속해서 \e
Meta/Alt 접두사를 사용하세요 .
높은 비트를 켜거나 UTF-8 로케일을 사용하는 대신 Meta/Alt를 누를 때 ESC() 문자 앞에 ESC( ) 문자를 추가하는 터미널 에뮬레이터 에서는 readline 바인딩에서 사용이 \M-
안정적으로 작동하지 않습니다 \x1b
(두 언어 모두 일반적으로 대부분의 최신 시스템[1]).
일부 bash 버전의 경우(예: 5.0
, 하지만아니요최신 5.1
), 사용은 \C-\M-
다르게 작동하므로 대신 \M-\C-
사용하면 다음 업데이트까지 실제로 원하는 작업이 수행됩니다. ;-)\C-\M-k
\M-\C-k
bash-5.0$ bind '"\C-\M-k": shell-backward-kill-word'
bash-5.0$ bind '"\M-\C-k": shell-kill-word'
bash-5.0$ bind -p | grep -a shell-.*kill-word
"\e\C-k": shell-backward-kill-word
"\213": shell-kill-word
[1]: 하지만 아니요 . 와 xterm
같은 것이 필요합니다 .XTerm*VT100.metaSendsEscape: true
~/.Xresources