Como mapeio Ctrl + F8 no vim?

Como mapeio Ctrl + F8 no vim?

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

O que eu fiz foi:

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

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

Alguma sugestão?

Responder1

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

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

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

informação relacionada