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

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

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

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

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

Ответы

Ответ 1

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

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

set term=xterm-256color

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