Bash
設置“set -o vi”時,有什麼方法可以啟用 Ctrl+L 來清除螢幕?
當您在 bash 預設模式下按
Ctrl
+L
時,螢幕將被清除。但是當我執行set -o vi
並按Ctrl
+L
鍵時,會列印 (^L
)。有沒有辦法保持這種行為?
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 shell。