'set -o vi'가 설정되어있을 때 Ctrl + L을 사용하여 화면을 지우는 방법이 있습니까?


53

bash 기본 모드에서 Ctrl+ 를 누르면 L화면이 지워집니다. 내가 실행할 때 set -o vi누릅니다 Ctrl+ L키 입력이 인쇄됩니다 ( ^L). 이 행동을 유지할 방법이 있습니까?

답변:


61

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 쉘을 사용자 정의하는 데 사용할 수 있는 광범위한 readline 명령 목록 이 있습니다.


1
호기심에서 vi 명령이 이미 매핑 된 경우 왜 귀찮게합니까? 완전성을 위해서 또는 기술적 이유가 있습니까?
Ken Bellows

1
설명에 따라 명확성을 위해 @KenBellows (그리고 순수한 미적 이유로 vi 명령 블록에 예제가 필요했습니다).
jasonwryan

21

이 줄을 당신의 bashrc:

bind -m vi-insert "\C-l":clear-screen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.