Wenn Sie im Bash-Standardmodus Ctrl+ drücken, wird Lder Bildschirm gelöscht. Aber wenn ich renne set -o vi
und Ctrl+ drücke, wird Lder Tastenanschlag gedruckt ( ^L
). Gibt es eine Möglichkeit, dieses Verhalten beizubehalten?
Wenn Sie im Bash-Standardmodus Ctrl+ drücken, wird Lder Bildschirm gelöscht. Aber wenn ich renne set -o vi
und Ctrl+ drücke, wird Lder Tastenanschlag gedruckt ( ^L
). Gibt es eine Möglichkeit, dieses Verhalten beizubehalten?
Antworten:
Ctrl+ List auch im vi-Befehlsmodus gebunden, jedoch nicht im Einfügemodus. Es gibt keine Standardbindung für den clear-screen
Einfügemodus. Readline-Bindungen sollten ~/.inputrc
wie folgt angegeben werden:
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
Dadurch wird Ctrl+ gebunden L, um den Bildschirm sowohl im normalen als auch im Einfügemodus zu löschen. Wenn Sie es nur in einem Modus verwenden möchten, entfernen Sie einfach die entsprechende Option.
Es gibt eine umfangreiche Liste von Readline-Befehlen , mit denen Sie Ihre Bash-Shell anpassen können.