.inputrc SEKME beklendiği gibi davranmıyor


11

Bugün rulodayım, işte başka bir soru:

Bunları nasıl koyduğumda .inputrc, ikisi de aynı şeyi yapıyor?

TAB: menu-complete
Shift-TAB: menu-complete-reverse

yani ikisi de sonuncusu ne derse desin.

Yanıtlar:


15

Readline, adlandırılan bir değiştirici hakkında hiçbir şey bilmez Shiftve bilinmeyen değiştirici adlarını sessizce yok sayar. Deneyin wibble-TAB.

Bir eylemi Shift+ 'ya bağlamak Tabiçin terminalinizin hangi kaçış dizisini gönderdiğini bulmanız gerekir. Bash, vadede catve tip Ctrl+ Vsonra Shift+ Tab. Bu, kaçış dizisini tam olarak ekleyecektir. İlk karakterin şu şekilde gösterilen bir kaçış karakteri olması muhtemeldir ^[; farklı terminallerin farklı kaçış dizileri vardır, ancak ortak olasılıklar ␛[Z(yani kaçış, sol köşeli parantez, büyük harf Z) ve ␛␉(yani kaçış, sekme) olabilir. Anahtarı uygun şekilde bağlayın ~/.inputrc(burada \ebir kaçış karakteri anlamına gelir).

"\e\t": menu-complete-backward
"\e[Z": menu-complete-backward

1
Ah, ^[Zbenim için çalıştı (BASH); Detaylı cevap için teşekkürler! :)
user541686

Enter'a 'kedi'den önce veya sonra mı basıyorsunuz? 'Kedi' neden gereklidir? Aynı kaçış dizisini 'kedi' olmadan görüyorum.
dougkramer

@ douglas.kramer Running catherhangi bir bash bağlanmasını önler. Genellikle bash, sonraki karakteri tam anlamıyla eklemek için aynı Ctrl + V bağına sahiptir, böylece bir fark yaratmaz.
Gilles 'SO- kötü olmayı bırak'

Shift + Tab'ı 'shell-expand-command' komutuna bağlarken sorun yaşıyorum Ben alıyorum: $ cat <Enter> <Shift+Tab>hangi görüntüler ^[[Z Her zaman \ealdığım dizinin önüne ekler miyim Ctrl+V? Bu şu "\e^[[Z": shell-expand-command
anlama

@dou ^[`` e
'' ile

4

Xubuntu 16.04'te, terminal: xfce4-terminal 0.6.3, kabuk: bash

For Shift+ Tabçalışmak için ben kullanmak zorunda kaldı:

bind '"\e[Z": menu-complete-backward'

In ~/.bash_profilekullanımı: bind TAB:menu-completeve bind '"\e[Z": menu-complete-backward'(tek ve çift tırnak kullanımını dikkat!).
Erik
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.