Qual è il formato generale del nome chiave per i collegamenti chiave nel file "inputrc"?


17

Comprendo che il formato per le associazioni dei tasti nel inputrcfile è:

keyname: function-name or macro

Per il nome chiave, ho visto cose come:

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

Qual è il significato di questi nomi chiave e qual è il formato generale per nome chiave? Si prega di condividere un collegamento a documenti.


2
Per i tuoi documenti, ti consiglio di consultare la readline(3)manpage o il manuale utente readline .
jw013

1
Controlla la tua configurazione chiave (readline - inputrc) tramite: $ bind -p
vigo

Risposte:


12

La rilegatura dei tasti può essere eseguita utilizzando uno dei seguenti moduli:

  1. nome chiave: nome_comando
  2. "keystroke_sequence": nome_comando

Nella prima forma è possibile precisare il nome per una singola chiave. Ad esempio, CONTROL-U verrebbe scritto come control-u. Ciò è utile per associare comandi a singoli tasti.

Nel secondo modulo, si specifica una stringa che descrive una sequenza di chiavi che saranno associate al comando. Quello che hai dato come esempio sono le sequenze di escape backslash di emacs-tyle per rappresentare i tasti speciali

\C- Controllo
\M- Meta
\e- Fuga

È possibile specificare una barra rovesciata usando un'altra barra rovesciata - \\. Allo stesso modo 'e "può essere sfuggito anche - \'e\"

Aggiornare

Questi caratteri sono interpretati dal tuo terminale quando premi i tasti speciali. Non vuoi associare alfabeti e numerici regolari nella tua associazione di tasti poiché potresti usarli su base regolare e può causare problemi quando colpisci accidentalmente una combinazione che è stata mappata nel tuo ~/.inputrco nel tuo /etc/inputrcfile.

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

Per saperne di più, basta digitare readsul prompt del terminale e premere tutti i tipi di tasti speciali come tasti funzione, HOME, FINE, tasti freccia ecc. E vedere cosa viene visualizzato.

Ecco un piccolo riferimento che ho trovato in grado di offrire alcune conoscenze di base. In bocca al lupo! :)


2
Che cosa significa \e[1~,\M-l e \C-[ODsignifica? La \e, \Me \Cparti sono chiari. E il resto? Ad esempio: [1~- Devo premere Shift+ {+ 1+ Shift+ `?
Misha Moroshko,

Ho aggiornato la risposta per te. Spero possa aiutare!
jaypal singh,

Il collegamento è interrotto. Ancora non sai a cosa servono la tilde o la parentesi aperta ??
Carl Smith,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.