Как сопоставить Ctrl + F8 в vim?

Как сопоставить Ctrl + F8 в vim?

Я пытался сопоставить Ctrl + F8 несколькими способами, но у меня просто не получается. После некоторых исследований я обнаружил, что vim не поддерживает все коды клавиш терминала, и мне приходится назначать код клавиши терминала пустому коду клавиши vim (например, F13). Я следовалэтотруководство шаг за шагом без какого-либо успеха.

Вот что я сделал:

  1. Найдите код клавиши терминала (URxvt) для Ctrl + F8 с помощью cat. Результат: ^[[19^
  2. Добавил следующие строки в файл плагина:

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

Какие-либо предложения?

решение1

[После тестирования я перенес свой комментарий в ответ.]

Ваша setкоманда не использует то же значение, что и ваш сканкод. Кроме того, вам нужно убедиться, что вы используете escape-символ вместо двух символов ^и [. Чтобы упростить это без "жесткого кодирования" escape-символа, я бы использовал :execute:

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

Связанный контент