Связывание специальных клавиш как ярлыков vim

На моей клавиатуре есть дополнительные горячие клавиши, такие как «Назад» и «Вперед», которые работают в веб-браузере. Я хотел бы использовать эти типы клавиш в качестве горячих клавиш в vim. Как я могу узнать, что vim видит эти клавиши, чтобы их можно было использовать в качестве горячих клавиш в vim?


person neuromancer    schedule 30.03.2012    source источник
comment
Мне любопытно. Это клавиатура Оно-Сендай?   -  person romainl    schedule 31.03.2012
comment
Это следующая лучшая вещь, Asus Eee. :)   -  person neuromancer    schedule 31.03.2012
comment
Вы используете Gvim или терминальный Vim? Terminal Vim имеет много обычных ключей, которые невозможно распознать.   -  person Herbert Sitz    schedule 31.03.2012


Ответы (1)


Перейдите в командную строку, введите control-k (вы получите знак вопроса в командной строке), а затем нажмите интересующую вас клавишу. Знак вопроса будет заменен определением Vim того, что он получает.

По моему опыту, вы не получите ответ для каждого нечетного ключа. Кроме того, для некоторых клавиш вы получите другой ответ в gVim по сравнению с консольным Vim. Я застрял на машине с Windows на работе, но иногда я подключаюсь по SSH к нашему серверу Linux и использую там Vim. Как в gVim в Windows, так и в консольном Vim на Linux, Vim говорит, что функциональная клавиша F7 отправляет:

<F7>

А в Windows, когда я набираю shift-F7, Vim сообщает:

<S-F7>

Все это имеет смысл. Но когда я набираю в консоли shift-F7, он сообщает:

[31~

И после долгих поисков я обнаружил, что для фактического использования приведенного выше значения в карте мне нужно было записать его как:

<Esc>[31~

Таким образом, мое сопоставление для создания чисел приращения F7 и чисел уменьшения shift-F7 выглядит странно в консоли Vim:

map <F7> <C-A>
map <Esc>[31~ <C-X>

Но это работает.

person Andrew Langman    schedule 10.04.2012