Я пытался сопоставить Ctrl + F8 несколькими способами, но у меня просто не получается. После некоторых исследований я обнаружил, что vim не поддерживает все коды клавиш терминала, и мне приходится назначать код клавиши терминала пустому коду клавиши vim (например, F13). Я следовалэтотруководство шаг за шагом без какого-либо успеха.
Вот что я сделал:
- Найдите код клавиши терминала (URxvt) для Ctrl + F8 с помощью cat. Результат: ^[[19^
- Добавил следующие строки в файл плагина:
set <F13>=^[[1;2B nnoremap <F13> :call foobar
Какие-либо предложения?
решение1
[После тестирования я перенес свой комментарий в ответ.]
Ваша set
команда не использует то же значение, что и ваш сканкод. Кроме того, вам нужно убедиться, что вы используете escape-символ вместо двух символов ^
и [
. Чтобы упростить это без "жесткого кодирования" escape-символа, я бы использовал :execute
:
:exe "set <F13>=\e[19^"
:nnoremap <F13> :echo "It works!"<CR>