Como posso configurar menos para reconhecer Ctrl-Left, Ctrl-Right

0

A página less diz que você pode usar Ctrl Esquerda e Ctrl Direita para mover o cursor uma palavra ao executar a edição de linha (por exemplo, inserindo uma string de pesquisa):

^LEFTARROW [ ESC-b or ESC-LEFTARROW ]
     (That is, CONTROL and LEFTARROW simultaneously.)  Move the
     cursor one word to the left.

Quando eu tento isso, ele insere a representação impressa da seqüência de controle enviada pelo terminal. Ctrl Esquerda entra em ESC[1;5D e Ctrl-Direita entra em ESC[1;5C .

Meu terminal está configurado para enviar ^[[1;5D e ^[[1;5C para Ctrl Esquerda e Ctrl Direita , respectivamente, e eu coloquei isso no meu ~/.inputrc então Readline executaria saltos de palavras quando eu estivesse no shell (Bash),

# Ctrl-Left
"3[1;5D": backward-word
# Ctrl-Right
"3[1;5C": forward-word

Presumivelmente, less está esperando alguma sequência de controle diferente? Estou um pouco hesitante em mudar as sequências de escape que o meu terminal está enviando apenas para satisfazer o less , por medo que isso atrapalhasse o Vim ou o Readline, mas estou disposto a tentar.

    
por ivan 19.06.2017 / 13:14

1 resposta

1

Configure menos associações de teclas para que a sequência \e[1;5D seja executada em word-left e \e[1;5C seja executada como 'palavra-direita'.

No arquivo ~/.lesskey , adicione

#line-edit
\e[1;5D    word-left
\e[1;5C    word-right

Se já houver uma seção #line-edit , adicione as linhas necessárias.

Em seguida, execute lesskey . Este programa associado transforma ~/.lesskey (em sintaxe legível por humanos) no formato binário ~/.less que less usa.

    
por 21.06.2017 / 01:31

Tags