Qual é o formato geral do nome-chave para as ligações de teclas no arquivo “inputrc”?

16

Eu entendo que o formato das combinações de teclas no arquivo inputrc é:

keyname: function-name or macro

Para keyname, vi coisas como:

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

Qual é o significado desses keynames e qual é o formato geral para keyname? Por favor, compartilhe um link para os documentos.

    
por Misha Moroshko 01.11.2011 / 10:14

1 resposta

11

Keybinding pode ser feito usando um dos seguintes formulários:

  1. nome da chave: nome_do_comando
  2. "keystroke_sequence": nome_do_comando

Na primeira forma, você pode soletrar o nome de uma única chave. Por exemplo, CONTROL-U seria escrito como control-u. Isso é útil para vincular comandos a chaves únicas.

No segundo formulário, você especifica uma string que descreve uma seqüência de chaves que serão ligadas ao comando. O que você deu como exemplo são as seqüências de escape de barra invertida emacs-tyle para representar as chaves especiais

\C - Control
\M - Meta
\e - Escape

Você pode especificar uma barra invertida usando outra barra invertida - \ . Da mesma forma, ' e " podem ser escapados também - \' e \"

Atualizar

Estes caracteres são interpretados pelo seu terminal quando você pressiona teclas especiais. Você não deseja vincular alfabetos e números regulares à sua associação de chaves, pois pode usá-los regularmente e pode causar problemas quando acidentalmente acertar uma combinação que tenha sido mapeada no arquivo ~/.inputrc ou /etc/inputrc .

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

Para saber mais, basta digitar read no seu terminal e pressionar todos os tipos de teclas especiais como Function Keys, HOME, END, Arrow Keys etc e ver o que é exibido.

Aqui está uma pequena referência que achei que pode oferecer uma compreensão básica. Boa sorte! :)

    
por 07.11.2011 / 22:18

Tags