Как исправить Home и End в Vim?

Я использую vim в gnome-terminal (2.26.0): хотя 95% времени я использую «$» для перехода к EOL и «0» для противоположного, время от времени я нажимаю «Home» или « Конец".

Когда я использую Home, текст, который у меня есть в текущей строке, перемещается на строку вниз, оставляя меня в режиме вставки в текущей строке, а буква H появляется в начале строки.

Когда я нажимаю End, это то же самое, но с буквой F вместо H.

Почему это происходит? Как я могу это исправить? (исправление означало бы наличие стандартной функциональности при нажатии этих клавиш).


person Mariano    schedule 06.10.2009    source источник


Ответы (1)


Это происходит потому, что нажатие клавиш home и end в терминале отправляет в vim escape-последовательность, состоящую из нескольких символов, и vim неправильно связывает эти escape-последовательности с нажатыми клавишами.

Чтобы исправить это, вам нужно изменить настройку срока. Gnome-terminal совместим с xterm, поэтому вы можете попробовать добавить это в свой .vimrc:

set term=xterm-256color

Настройка термина происходит от переменной среды TERM, поэтому вы можете сначала выяснить, почему она установлена ​​неправильно.

person Laurence Gonsalves    schedule 06.10.2009
comment
У меня была эта настройка в моем .bashrc, и я всегда считал, что этого достаточно. Я был явно неправ. Спасибо за вашу помощь. - person Mariano; 06.10.2009
comment
вы спасли мне жизнь: D получал ^ [[последовательность F при использовании клавиши завершения ... используя cygwin здесь, надеюсь, это поможет всем пользователям mintty! - person holms; 22.04.2013
comment
Если другие запутаются, строку set term=xterm следует добавить в .vimrc, а не в .bashrc - person Beeno Tung; 17.12.2017
comment
set term=xterm-256color кажется лучше, так как не нарушает цветовую схему - person Beeno Tung; 17.12.2017
comment
@beenotung да, я собирался это предложить. Я только что обновил ответ. С какими цветовыми схемами у вас возникли проблемы с term = xterm? - person Laurence Gonsalves; 17.12.2017
comment
@LaurenceGonsalves Я попробовал стандартный (на Archlinux) и torte. Практически любые цветовые схемы были изменены на оттенки серого. - person Beeno Tung; 28.12.2017