Dav*_*nez 62 bash readline vi-mode
当您在 bash 默认模式下按Ctrl+ 时L,屏幕会被清除。但是当我运行set -o vi并按Ctrl+L键时会打印 ( ^L)。有什么办法可以保持这种行为吗?
jas*_*yan 77
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
Run Code Online (Sandbox Code Playgroud)
这将绑定Ctrl+L以在正常和插入模式下清除屏幕。当然,如果您更喜欢仅在一种模式下使用它,只需删除相关选项即可。
如果您更喜欢设置它只是为了在 中bash使用以下等效项~/.bashrc:
set -o vi
bind -m vi-command 'Control-l: clear-screen'
bind -m vi-insert 'Control-l: clear-screen'
Run Code Online (Sandbox Code Playgroud)
有一个广泛的readline命令的列表,你可以使用带有自定义您的bash shell。
cas*_*sey 28
将此行放在您的bashrc:
bind -m vi-insert "\C-l":clear-screen
Run Code Online (Sandbox Code Playgroud)