Vinculações do Vim não funcionam em st

Vinculações do Vim não funcionam em st

No meu vimrc, tenho atalhos de teclado configurados para navegar pelas janelas divididas no vim. Eles funcionam perfeitamente em urxvt, mas se recusam a trabalhar em st.

O código que tenho é

nnoremap <silent> <C-Up> :wincmd k<CR>
nnoremap <silent> <C-Down> :wincmd j<CR>
nnoremap <silent> <C-Left> :wincmd h<CR>
nnoremap <silent> <C-Right> :wincmd l<CR>

Qualquer ajuda seria apreciada

Responder1

Os dois emuladores de terminal enviam sequências de caracteres diferentes para as teclas de controle/seta. Se você definiuTERMcorretamente, a maioria dos aplicativos funcionará.

Isso pressupõe que eles estejam usando o banco de dados do terminal.

Para referência, os dois terminais seriam comparados usando

infocmp -x urxvt st |grep 'k[[:upper:]].*5:'

ou (dependendo das preferências do empacotador)

infocmp -x rxvt-unicode st |grep 'k[[:upper:]].*5:'

algo assim:

kDC5: '\E[3\^', NULL.
kDN5: '\EOb', '\E[1;5B'.
kEND5: '\E[8\^', NULL.
kHOM5: '\E[7\^', NULL.
kIC5: '\E[2\^', NULL.
kLFT5: '\EOd', '\E[1;5D'.
kNXT5: '\E[6\^', '\E[6;5~'.
kPRV5: '\E[5\^', '\E[5;5~'.
kRIT5: '\EOc', '\E[1;5C'.
kUP5: '\EOa', '\E[1;5A'.

As teclas de controle/seta sãokDN5(abaixo),kLFT5(esquerda),kRIT5(direita) ekUP5(acima).

Interessantemente suficiente,vimnão usa essas informações deinformações do termo. Ele usa apenas otermcapinterface (que usa apenas nomes de 2 caracteres: estes não são de 2 caracteres). Em algum lugar da sua configuração, há uma solução alternativa para isso, que pode estar interferindo na interpretação das diferentes sequências de caracteres de st. Poderia usar oTERMvalor, mas apenas de alguma maneira codificada e específica do aplicativo.

Seguindo o comentário,st-256colorcópiastermo xo comportamento do para as teclas de função modificadas (e as não modificadas, é claro), erxvt-unicodeusarxvto comportamento do para as teclas de função modificadas, etc. infocmp mostra 138 diferenças entre os dois conjuntos de teclas de função (contando as modificadas).

informação relacionada