“İnputrc” dosyasındaki anahtar bağlamaları için genel anahtar adı biçimi nedir?


17

inputrcDosyadaki anahtar bağlamaları için formatın :

keyname: function-name or macro

Anahtar adı için şöyle şeyler gördüm:

"\e[B"
"\e[1~"
"\e[5D"
"\M-l"
"\C-[OD"
"\e\e[D"

Bu anahtar adlarının anlamı nedir ve anahtar adının genel biçimi nedir? Lütfen dokümanlar için bir bağlantı paylaşın.


2
Dokümanlarınız için, readline(3)manpage veya readline kullanıcı kılavuzuna bakmanızı tavsiye ederim .
jw013

1
Anahtar yapılandırmasını (readline - inputrc) şu yolla kontrol edin: $ bind -p
vigo

Yanıtlar:


12

Tuş bağlama, aşağıdaki formlardan biri kullanılarak yapılabilir:

  1. anahtar adı: komut_adı
  2. "keystroke_sequence": komut_adı

İlk formda, tek bir anahtarın adını heceleyebilirsiniz. Örneğin, CONTROL-U kontrol-u olarak yazılır. Bu, komutları tek tuşlara bağlamak için kullanışlıdır.

İkinci formda, komuta bağlı olacak bir tuş dizisini tanımlayan bir dize belirtirsiniz. Örnek olarak verdiğiniz, özel anahtarları temsil eden emacs-tyle ters eğik çizgi kaçış dizileridir.

\C- Kontrol
\M- Meta
\e- Kaçış

Başka bir ters eğik çizgi kullanarak bir ters eğik çizgi belirtebilirsiniz \\. Benzer şekilde 've "aynı zamanda kaçabilir - \'ve\"

Güncelleme

Bu karakterler, özel tuşlara bastığınızda terminaliniz tarafından yorumlanır. Düzenli alfabe ve sayıları tuş bağlamanıza bağlamak istemezsiniz, çünkü bunları düzenli olarak kullanıyor olabilirsiniz ve yanlışlıkla dosyanızda ~/.inputrcveya /etc/inputrcdosyanızda eşlenen bir kombinasyonu vurduğunuzda sorunlara neden olabilirsiniz .

[1~ is what is interpreted by your terminal when you press your HOME button. 

Daha fazla bilgi edinmek readiçin terminal komut isteminizi yazın ve İşlev Tuşları, HOME, END, Ok Tuşları vb.Gibi tüm özel tuşlara basın ve nelerin görüntülendiğini görün.

İşte bazı temel anlayış sunabilecek küçük bir referans . İyi şanslar! :)


2
Ne gelmez \e[1~, \M-lve \C-[ODdemek? \e, \MVe \Cparçalar açıktır. Gerisi ne olacak? Örneğin: [1~- Shift+ {+ 1+ Shift+ tuşlarına basmalı mıyım `?
Misha Moroshko

Cevabı sizin için güncelledim. Umarım yardımcı olur!
jaypal singh

Bağlantı koptu. Hala tilde veya açık braketin ne için olduğunu bilmiyorum ??
Carl Smith
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.