Gibt es eine Möglichkeit, die Tastenkombination Strg + L zu aktivieren, um den Bildschirm zu löschen, wenn "set -o vi" festgelegt ist?


54

Wenn Sie im Bash-Standardmodus Ctrl+ drücken, wird Lder Bildschirm gelöscht. Aber wenn ich renne set -o viund Ctrl+ drücke, wird Lder Tastenanschlag gedruckt ( ^L). Gibt es eine Möglichkeit, dieses Verhalten beizubehalten?

Antworten:


61

Ctrl+ List auch im vi-Befehlsmodus gebunden, jedoch nicht im Einfügemodus. Es gibt keine Standardbindung für den clear-screenEinfügemodus. Readline-Bindungen sollten ~/.inputrcwie 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.


1
Warum sollte man sich aus Neugier mit vi-command beschäftigen, wenn es bereits zugeordnet ist? nur der Vollständigkeit halber, oder gibt es einen technischen Grund?
Ken Bellows

2
@ KenBellows für Klarheit, wie in den Kommentaren angegeben (und ich brauchte ein Beispiel im vi-Befehlsblock aus rein ästhetischen Gründen).
Jasonwryan

22

Setzen Sie diese Zeile in Ihre bashrc:

bind -m vi-insert "\C-l":clear-screen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.