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もちろん、1つのモードでのみ使用したい場合は、そのオプションを削除してください。
設定するには、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