Когда вы нажимаете Ctrl+ Lв режиме bash по умолчанию, экран очищается. Но когда я запускаю set -o vi
и нажимаю Ctrl+ L, печатается нажатие клавиши ( ^L
). Есть ли способ сохранить это поведение?
Когда вы нажимаете Ctrl+ Lв режиме bash по умолчанию, экран очищается. Но когда я запускаю 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чтобы очистить экран как в обычном, так и в режиме вставки. Естественно, если вы предпочитаете использовать его только в одном режиме, просто удалите соответствующую опцию.
Существует обширный список команд readline, которые вы можете использовать для настройки вашей оболочки bash.