Como mapear teclas de função em menos?

2

É possível mapear teclas de função (F1-F12) em less com lesskey ?

Isso não parece funcionar:

#command
F1    forw-line
    
por Cyker 06.12.2016 / 17:32

1 resposta

2

Historicamente, os terminais usam seqüências de escape para teclas de funções, teclas de cursor e mais. As instalações termcap e terminfo ajudam a lidar com as variações entre os terminais.

Primeiro você precisa determinar o que seu terminal envia quando você aperta F1 , em bash você pode fazer:

printf "%q\n" " Ctrl V F1 "

Dentro do segundo par de aspas você digita Ctrl + V para fazer com que o próximo pressionamento de tecla seja tratado literalmente ( textual ), e então F1 . No meu terminal (rxvt) eu vejo

$'\E[11~'

então minha sequência F1 é escape [ 11 ~ , então em .lesskey deve ir

#command
\e[11~  forw-line

execute lesskey para atualizar, e agora F1 invocará esse comando.

infocmp é outra maneira de ver como seu terminal está configurado, por exemplo,

infocmp -L1 rxvt | grep key_f1=

Veja Stéphane Chazelas responda aqui para mais detalhes, embora less não use readline , configurando readline requer um entendimento similar.

    
por 06.12.2016 / 18:37

Tags