vi 키 바인딩을 사용하도록 Bash를 설정했지만 Emacs 스타일 과 바인딩을 유지하여 기록을 반복하고 set -o vi
싶습니다 . bash(1)의 "Binding" 섹션을 읽고 다음 변형을 시도했습니다.Ctrl-pCtrl-n
bind -m vi-insert "\C-p": previous-history
bind -m vi-insert "\C-n": next-history
그러나 내가 실행한 명령 중 어떤 것도 bind
효과가 없는 것 같습니다. 이후의 출력은 bind -P
변경되지 않습니다. 이러한 명령에 대한 키 바인딩을 어떻게 변경할 수 있습니까?
답변1
에서 help bind
:
The non-option argument syntax is equivalent to that found in ~/.inputrc, but must be passed as a single argument: e.g., bind '"\C-x\C-r": re-read-init-file'.
나는 필요한 인수를 찾기 위해 set -o emacs
and 를 사용합니다.bind -p | grep history
필요한 명령은 다음과 같습니다.
bind '"\C-p": previous-history'
bind '"\C-n": next-history'
나는 set -o vi
이것이 올바른 명령인지 확인하기 위해 이것을 테스트했습니다.
또한 이는 help
쉘의 내장 명령을 배우기 위해 사용하는 것임을 참고하세요. 그 자체는 및 와 help
마찬가지로 쉘 내장 함수입니다 .type
bind