Bir konsoldaki CTRL + ok tuşlarıyla sonraki veya önceki kelimeye nasıl atlayabilirim?


12

Terminal öykünme uygulamalarında, CTRL+ Left/ Rightoklarına basmak bir kelimeden önceki veya sonraki kelimeye atlar. İster metin ister çerçeve tamponu modlarında olsun, bir Linux konsolunda aynı işlevselliğe sahip olmak mümkün müdür?

Konfigürasyonumda, CTRL+ ok tuşları çıkış karakter karakterlerine dönüştürülür ve yorumlanmaz.

Yanıtlar:


8

Bu ancak terminal Ctrl+ Leftvs için farklı kaçış dizileri gönderirse mümkündür Left. Linux konsolunda varsayılan olarak durum böyle değildir (en azından makinemde). Bunu, tuş eşlemesini değiştirerek yapabilirsiniz. Tam olarak değiştirilecek dosya dağıtımınıza bağlı olabilir; Debian lenny'de, değiştirilecek dosya /etc/console/boottime.kmap.gz. Gibi hatlara ihtiyacınız var

control keycode 105 = F100
string F100 = "\033O5D"
control keycode 106 = F101
string F101 = "\033O5C"

X terminal öykünücünüzle aynı çıkış dizilerini de seçebilirsiniz. Kontrol dizisinin ne olduğunu bulmak için bir kabukta Ctrl+ V Ctrl+ yazın Left; (benim makinede) Bu ekler ^[O5Dnerede ^[bir kaçış karakteridir. Tuş haritası dosyasında \033bir kaçış karakteri temsil edilir.

Terminaldeki uygulamayı kaçış dizisinin kodunu çözecek şekilde yapılandırmak ayrı bir sorundur.


yalnızca nasıl aldığını açıklıyoruz "\033O5D"kodu, ancak nereden tamamen ihmal keycode 105ve F100kodları. Ayrıca, ctrl + Down ve Ctrl + Up için ^[[1;5Bve alırım ^[[1;5A. Parçayı nasıl ele almalıyım 1;?
Martin Vegter

1
@MartinVegter Mevcut dosyayı anahtar kodları açısından kontrol edin veya showkeyprogramı kullanın . 1;: Bölümü diğerlerinden farklı değildir "\033[1;5B"ve böyle devam eder.
Gilles 'SO- kötü olmayı bırak'

Tamam keycode 105kullanarak bulunabilir showkey. Ama nereden buldun F100?
Martin Vegter

@MartinVegter Henüz kullanımda olmayan birini seçin. Keychord başına farklı bir tane (Cevabımda bir yazım hatası düzelttim).
Gilles 'SO- kötü olmayı bırak'

24

Emacs tarzı kısayollar Alt+ f, Alt+ bvarsayılan olarak kabuklar gibi readline ile çalışan tüm komut satırı programlarıyla çalışır.


2

Vim'i komut satırı düzenleyiciniz olarak ayarlayıp ESC'ye basabilir ve vim stilinin (ileri, geri, son, $, 0 vb.) Etrafında atlayabilirsiniz.


-1

Debian'da boş bir ~/.inputrcdosya ile bu sorunu yaşadım . Bu dosyayı kaldırarak sorun düzeltildi.

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.