Quando si preme Ctrl+ Lin modalità predefinita bash, lo schermo viene cancellato. Ma quando corro set -o vi
e premo Ctrl+ Lviene stampato il tasto ( ^L
). C'è un modo per mantenere questo comportamento?
Quando si preme Ctrl+ Lin modalità predefinita bash, lo schermo viene cancellato. Ma quando corro set -o vi
e premo Ctrl+ Lviene stampato il tasto ( ^L
). C'è un modo per mantenere questo comportamento?
Risposte:
Ctrl+ Lè anche associato in modalità comando vi ma non in modalità inserimento. Non esiste alcun binding predefinito per clear-screen
in modalità inserimento. I collegamenti readline devono essere specificati in ~/.inputrc
, in questo modo:
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
Questo vincolerà Ctrl+ Lper cancellare lo schermo sia in modalità normale che in modalità inserimento. Naturalmente, se si preferisce utilizzarlo solo in una modalità, è sufficiente rimuovere l'opzione pertinente.
C'è un ampio elenco di comandi readline che puoi usare per personalizzare la tua shell bash.