'Set -o vi' ayarlandığında Ctrl + L'yi ekranı temizlemenin herhangi bir yolu var mı?


54

Bash varsayılan modda Ctrl+ tuşuna bastığınızda Lekran temizlenir. Ancak koşup + set -o vituşlarına bastığımda tuşa basılıyor ( ). Bu davranışı sürdürmenin bir yolu var mı?CtrlL^L

Yanıtlar:


61

Ctrl+ L, vi komut modunda da bağlanır ancak ekleme modunda değildir. clear-screenEkleme modunda varsayılan ciltleme yoktur . Readline bağlamaları şöyle belirtilmelidir ~/.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

Bu , ekranı hem normal modda hem de ekleme modunda temizlemek için Ctrl+ Lişaretine bağlanır . Doğal olarak, yalnızca bir modda kullanmayı tercih ediyorsanız, ilgili seçeneği kaldırmanız yeterlidir.

Bash kabuğunuzu kişiselleştirmek için kullanabileceğiniz geniş bir readline komutu listesi vardır.


1
Meraktan uzak, zaten haritalanmışsa neden vi-komutu ile uğraşasın ki? sadece bütünlük uğruna veya teknik bir sebep var mı?
Ken Bellows

2
@KenBellows açıklığa kavuşturmak için, yorumlara göre (ve tamamen estetik nedenler için vi-komut bloğunda bir örneğe ihtiyacım vardı).
jasonwryan

22

Bu çizgiyi içine koy bashrc:

bind -m vi-insert "\C-l":clear-screen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.