Почему <C-PageUp> и <C-PageDown> не работают в vim? - PullRequest
9 голосов
/ 29 ноября 2009

У меня 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>

Кто-нибудь знает, почему?

Ответы [ 2 ]

9 голосов
/ 29 ноября 2009

Проблема, которую вы описываете, обычно вызвана тем, что настройки терминала vim не знают правильную последовательность символов для данной клавиши (на консоли все нажатия клавиш превращаются в последовательность символов). Это также может быть вызвано тем, что ваша консоль не отправляет определенную последовательность символов для клавиши, которую вы пытаетесь нажать.

Если это прежняя проблема, то можно сделать что-то подобное:

:map <CTRL-V><CTRL-PAGEUP> :tabp<CR>

Где <CTRL-V> и <CTRL-PAGEUP> - буквально эти ключи, а не "меньше, чем, C, T, R, ... и т. Д.".

Если это последняя проблема, то вам нужно либо отрегулировать настройки вашей терминальной программы, либо получить другую терминальную программу. (Я не уверен, какой из этих вариантов действительно существует в Windows.)

3 голосов
/ 20 марта 2012

Это может показаться очевидным для многих, но пользователи konsole должны знать, что некоторые версии связывают ctrl-pageup / ctrl-pagedown как вторичные привязки к своей функции окна с вкладками (что может быть неочевидно, если вы не используете эту функцию). Просто удалив их из меню «Настроить ярлыки», я получил корректную работу в vim. Я предполагаю, что другие терминалы могут иметь аналогичные функции по умолчанию.

...