Como obter corretamente o KEYEQ DIREITO para readline em .inputrc?

4

Com o que eu luto:

Estou configurando o arquivo ~/.inputrc para ser o mesmo que as minhas ligações de emacs personalizadas e estou lutando muito com as seqüências de chaves da linha de leitura.

O que quero dizer é que, se eu quiser definir <up> / <down> , preciso configurá-lo como "\e[A" / "\e[B"

Como posso inferir o keyseq para <F1>..<F12> ou mesmo se eu quiser vincular algo a digamos (kbd "C-x <M-f7>") na terminologia do emacs (ou seja: para [control]+[x] [alt]+[f7] ser um keyseq)?

O que eu quero:

Existe algum comando que me diz para determinada tecla no teclado qual a sua sequência de escape? Se não houver nenhum comando, existe algum outro recurso (article / table / ...) com algumas dicas?

--> goal: replace <KEY SEQUENCE> with proper keyseq

"<f3>"           : start-kbd-macro
"<S-f4>"         : end-kbd-macro
"C-x <C-M-S-f4>" : dump-macro
"<f4>"           : call-last-kbd-macro
... more keybindings ...
por DinGODzilla 06.03.2012 / 02:16

1 resposta

2

Eu encontrei a solução: use emacs -nw e function insert-quoted (ligação padrão para Ctrl + q ).

Ctrl + q resultará em ^[[A e Ctrl + q F1 em ^[[[A

As linhas em ~/.inputrc serão seguidas (os resultados podem variar dependendo do ambiente - principalmente da variável $ TERM):

"\e[[A": "pressed up key"
"\e[[[A": "pressed F1"

Motivação para mudar seu .inputrc pode estar seguindo.

Você não gosta de teclas do tipo emacs para navegar ao longo da linha e da história?
Eu não prefiro e prefiro ErgoEmacs porque eles são lógicos e eu quero usá-los não apenas no Emacs, mas no sistema largamente.

"\ej": backward-char
"\el": forward-char
"\ei": previous-history
"\ek": next-history
"\eh": beginning-of-line
"\eH": end-of-line
"\eu": backward-word
"\eo": forward-word
"\eg": kill-line
"\eG": backward-kill-line
"\ee": backward-kill-word
"\er": kill-word
"\ed": backward-delete-char
"\ef": delete-char
"\ez": undo
"\ex": kill-region
"\ec": copy-region-as-kill
"\ev": yank
"\e;": forward-search-history
"\e:": reverse-search-history

Eu escrevi "sudo aptitude install" tantas vezes (geralmente após nova instalação) que eu tenho M-a M-i (ou seja, Alt + a Alt + i ) como atalho para isso (porque alias para a mesma coisa não é completada automaticamente)

"\ea\ei": "sudo aptitude install "

Existem muitas outras razões pelas quais você deve ter seu próprio ~/.inputrc ...

    
por DinGODzilla 09.03.2012 / 03:29