Po naciśnięciu przycisku Ctrl+ Lw domyślnym trybie bash ekran zostanie wyczyszczony. Ale kiedy uruchamiam set -o vi
i naciskam Ctrl+, Lnaciśnięcie klawisza jest drukowane ( ^L
). Czy jest jakiś sposób na zachowanie tego zachowania?
Po naciśnięciu przycisku Ctrl+ Lw domyślnym trybie bash ekran zostanie wyczyszczony. Ale kiedy uruchamiam set -o vi
i naciskam Ctrl+, Lnaciśnięcie klawisza jest drukowane ( ^L
). Czy jest jakiś sposób na zachowanie tego zachowania?
Odpowiedzi:
Ctrl+ Ljest również związany w trybie komend vi, ale nie w trybie wstawiania. W clear-screen
trybie wstawiania nie ma domyślnego wiązania . Powiązania readline powinny być określone w następujący ~/.inputrc
sposób:
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
Spowoduje to powiązanie Ctrl+, Laby wyczyścić ekran zarówno w trybie normalnym, jak i wstawiania. Oczywiście, jeśli wolisz używać go tylko w jednym trybie, po prostu usuń odpowiednią opcję.
Istnieje obszerna lista poleceń readline , których można użyć do dostosowania powłoki bash.