Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

set term=xterm-256color

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top