xinput - Ctrl + Left se comporta mal se o histórico de pesquisa-retrocesso é mapeado

2

Estou usando essas linhas no meu ~/.inputrc :

"\e[5~": history-search-backward
"\e[6~": history-search-forward

Com estas configurações quando eu digito c no prompt e faço um PageUp , o bash mostra apenas o comando que começa com c do histórico. PageDown faz o seu inverso. Eu acho isso muito produtivo para mim.

Sem essas linhas no meu arquivo inputrc quando eu faço Ctrl + Esquerda , O cursor usa para ir para uma palavra esquerda e Ctrl + Esquerda faz o oposto. Mas com essas configurações mencionadas acima quando eu faço Ctrl + Esquerda e Ctrl + Direita ela imprime ;5D e ;5C em vez disso.

Então, como eu faço Ctrl + à esquerda & Ctrl + Direito faz as coisas certas?

    
por Santosh Kumar 21.04.2013 / 05:01

2 respostas

2

Os dois comandos readline para esses movimentos são forward-word e backward-word . Você pode acessá-los, respectivamente, usando (o padrão emacs binds): Alt f e Alt b .

Para trabalhar usando as teclas Esquerda e Direita , você precisa adicionar algumas linhas ao seu ~/.inputrc .

Primeiro, confirme as seqüências de escape corretas obtendo a saída bruta do seu terminal para aqueles pressionamentos de tecla: Ctrl Esquerda e Ctrl v Ctrl Direita e anote a sequência (algo como ^[Oc e ^[Od ). Em seguida, anexe essas linhas ao seu .inputrc :

"\eOc": forward-word
"\eOd": backward-word

Todos os comandos readline podem ser recuperados no seu .inputrc .

    
por 21.04.2013 / 05:25
0

observe que essas sequências podem ser diferentes de um terminal para outro. Do seu texto, parece que você usa o gnome-terminal.

# on gnome-terminal
"\e[1;5D": backward-word
"\e[1;5C": forward-word
    
por 21.04.2013 / 11:59