Como eu posso religar next-history e previous-history no Bash?

4

Eu configurei o Bash para usar atalhos de teclado do vi com set -o vi , mas gostaria de manter as ligações Ctrl-p e Ctrl-n do estilo Emacs para andar de bicicleta pela história. Eu li a seção "bind" no bash (1) e tentei variações dos seguintes itens:

bind -m vi-insert "\C-p": previous-history
bind -m vi-insert "\C-n": next-history

Parece que nenhum dos comandos bind que emiti tem algum efeito, no entanto. A saída de bind -P é sempre inalterada posteriormente. Como posso alterar as combinações de teclas para esses comandos?

    
por Ben 23.01.2017 / 01:05

1 resposta

4

De help bind :

The non-option argument syntax is equivalent to
that found in ~/.inputrc, but must be passed as a single argument:
e.g., bind '"\C-x\C-r": re-read-init-file'.

Eu usei set -o emacs e bind -p | grep history para encontrar os argumentos necessários.

Os comandos de que você precisa são:

bind '"\C-p": previous-history'
bind '"\C-n": next-history'

Eu testei isso depois de set -o vi para verificar se eles são os comandos corretos.

Observe também que help é o que você usa para aprender sobre builtins de shell. help em si é um shell embutido, assim como type e bind .

    
por 24.01.2017 / 05:29

Tags