Почему < C-PageUp > и < C-PageDown > не работает в VIM?
-
06-07-2019 - |
Вопрос
У меня установлен Vim 7.2 в Windows. В GVim < C-PageUp >
и < C-PageDown >
по умолчанию работают для навигации между вкладками. Однако это не работает для Vim.
Я даже добавил нижеприведенные строки в _vimrc
, но это все равно не работает.
map <C-PageUp> :tabp<CR>
map <C-PageDown> :tabn<CR>
Но, карта и работает.
map <C-left> :tabp<CR>
map <C-right> :tabn<CR>
Кто-нибудь знает, почему?
Решение
Проблема, которую вы описываете, обычно вызвана тем, что настройки терминала vim не знают правильную последовательность символов для данного ключа (на консоли все нажатия клавиш превращаются в последовательность символов). Это также может быть вызвано тем, что ваша консоль не отправляет определенную последовательность символов для клавиши, которую вы пытаетесь нажать.
Если это прежняя проблема, то можно сделать что-то подобное:
:map <CTRL-V><CTRL-PAGEUP> :tabp<CR>
Где < CTRL-V >
и < CTRL-PAGEUP >
буквально являются этими ключами, но не меньше, чем C, T, R, .. и т. д.
Если это последняя проблема, вам нужно либо отрегулировать настройки вашей терминальной программы, либо получить другую терминальную программу. (Я не уверен, какой из этих вариантов действительно существует в Windows.)
Другие советы
Многим это может показаться очевидным, но пользователи konsole должны знать, что некоторые версии связывают ctrl-pageup / ctrl-pagedown
как вторичные привязки к своей собственной функции окна с вкладками (что может быть неочевидно) если вы не используете эту функцию).
Просто удалив их из меню «Настроить ярлыки», я получил корректную работу в vim. Я думаю, что другие терминалы могут иметь аналогичные функции по умолчанию.