답변:
예, 내장 된 키 매핑 (vi 또는 emacs와 유사한 모드)을 변경할 수 있습니다 bind
. 이것은 실제로 readline 기능입니다 (따라서 bash뿐만 아니라 모든 readline 프로그램에서 vi와 같은 바인딩을 가질 수 있습니다).
찾고있는 키는 vi-movement-mode
이며 기본값은 \e
(이스케이프)입니다. 추가로 이것을 다음과 동일하게 묶을 수 있습니다 (그리고 이것은 다소 어리 석습니다). 두 번째 줄은 바인딩을 제거하여 이스케이프합니다.
$ bind "=":vi-movement-mode
$ bind -r "\e"
실행 bind -p
하면 바인딩 할 수있는 모든 키와 현재 바인딩 (있는 경우)이 표시됩니다.
에 bind
명령을 넣거나 실행하는 모든 readline 프로그램에 적용되도록 .bashrc
편집 할 수 있습니다 ~/.inputrc
. readline 문서에는 자세한 내용이 포함되어 있습니다.
bind "Control-Space":vi-movement-mode
. 그러나 예를 들어 vim에서는 트리거로 트리거로 두 문자를 입력합니다. 예를 들어 esc
입력 jj
하면 일반 모드로 돌아갑니다. bind로 시도했을 때 작동하지 않았습니다. 작동하는 특별한 방법이 있습니까?
@
) 를 붙여야합니다 . 그렇지 않으면 알림을받지 않습니다.
bind '"jk":vi-movement-mode'