Como mapear Ctrl + F8 no vim?

0

Eu tenho tentado mapear Ctrl + F8 de várias maneiras diferentes, mas não consigo fazer funcionar. Depois de fazer algumas pesquisas, descobri que o vim não suporta todos os códigos de teclas do terminal e tenho que atribuir o código de tecla do terminal a um código de tecla vim vazio (como F13). Eu segui este guia passo a passo sem sucesso.

O que eu fiz é:

  1. Localize o código-chave do terminal (URxvt) para Ctrl + F8 usando cat. O resultado é: ^ [[19 ^
  2. Adicionamos as seguintes linhas ao meu arquivo de plug-in:

set <F13>=^[[1;2B nnoremap <F13> :call foobar

Alguma sugestão?

    
por Mr. Blue 23.09.2016 / 18:01

1 resposta

1

[Após o teste, transferi meu comentário para uma resposta.]

Seu comando set não está usando o mesmo valor que seu scancode. Além disso, você precisa ter certeza de que está usando um caractere de escape em vez dos dois caracteres de ^ e [ . Para facilitar isso sem "codificar" um caractere de escape, usaria :execute :

:exe "set <F13>=\e[19^"
:nnoremap <F13> :echo "It works!"<CR>
    
por 23.09.2016 / 19:45