Bash 기본 모드에서 Ctrl+를 누르면 L화면이 지워집니다. 하지만 실행 set -o vi
하고 Ctrl+를 누르면 L키 입력이 인쇄됩니다( ^L
). 이 동작을 유지할 수 있는 방법이 있나요?
답변1
Ctrl+는 L명령 모드에서도 바인딩되지만 vi
삽입 모드에서는 바인딩되지 않습니다. clear-screen
삽입 모드에는 기본 바인딩이 없습니다. Readline 바인딩은 다음과 같이 지정되어야 합니다 ~/.inputrc
:
set editing-mode vi
$if mode=vi
set keymap vi-command
# these are for vi-command mode
Control-l: clear-screen
set keymap vi-insert
# these are for vi-insert mode
Control-l: clear-screen
$endif
이것은 일반 모드와 삽입 모드에서 화면을 지우기 위해 Ctrl+를 바인딩합니다 . L물론, 한 가지 모드로만 사용하고 싶다면 해당 옵션을 제거하면 됩니다.
설정하려면 bash
다음과 같은 항목을 사용하세요 ~/.bashrc
.
set -o vi
bind -m vi-command 'Control-l: clear-screen'
bind -m vi-insert 'Control-l: clear-screen'
하나 있다광범위한 readline 명령 목록이를 사용하여 bash 쉘을 사용자 정의할 수 있습니다.
답변2
다음 줄을 다음 줄에 넣으세요 bashrc
.
bind -m vi-insert "\C-l":clear-screen