Клавиши HOME и END Проблема в Vim - PullRequest
10 голосов
/ 14 июня 2011

Я нахожусь на Ubuntu. Я начинающий пользователь Vim. У меня есть настройки клавиш в /etc/vim/vimrc для ключей home и end.

Он работает на терминале, но когда я редактирую файл в терминале Guake, эти сопоставления не работают. У меня есть эта проблема только со мной на этот раз. В прошлый раз (я имею в виду перед переустановкой Ubuntu) он работал нормально на каждом терминале.

Я пытался

 set term=xterm

но он все еще не работает.

Будет очень приятно, если кто-нибудь поможет мне с этим. Также, если кто-то может дать мне дополнительную информацию о некоторых других ключах на карте или о других полезных вещах, это будет очень приятно.

-

vimrc:

if has("syntax")
  syntax on
endif

// только это было добавлено мной

if filereadable("/etc/vim/vimrc.local")
   source /etc/vim/vimrc.local
endif

map <ESC>[8~    <End>

map <ESC>[7~    <Home>

imap <ESC>[8~    <End>  

imap <ESC>[7~    <Home>

Все комментарии прокомментированы

Я хотел бы добавить, что я не думаю, что это проблема с файлом vimrc, так как эта конфигурация позволяет мне использовать эти клавиши END и HOME в терминале, пока я нахожусь в режиме вставки или обычном режиме. Но не работает на guake. (Поправьте меня, если я ошибаюсь, пожалуйста.)

Все еще надеемся, что вы сейчас мне чем-нибудь поможете.

-

Ответы [ 3 ]

4 голосов
/ 14 июня 2011

В vim вы можете добраться до конца текущей строки, используя $ , и до начала строки, используя ^ . Я считаю эти символы более удобными, чем Home и End при наборе текста.

Надеюсь, это поможет:)

-dave

0 голосов
/ 28 июня 2019

Я не знаю, сработает ли это для вас, но у меня это сработало: Я заметил, что для TERM установлено значение «linux» [проверьте с помощью «echo $ TERM»].

Тогда есть два способа решения.

Первый) Измените .bashrc или ваш пользовательский файл конфигурации на:

export TERM='xterm'

или Во-вторых) Добавьте эти строки в ваш .vimrc:

" Fix home/end key in all modes
map <esc>OH <home>
cmap <esc>OH <home>
imap <esc>OH <home>
map <esc>OF <end>
cmap <esc>OF <end>
imap <esc>OF <end>
0 голосов
/ 05 сентября 2017

У меня была такая же проблема с urxvt, возможно, вы могли бы по крайней мере отладить ее лучше с теми же шагами.

Для меня все было нормально, пока я не переключился (с терминала gnome) на urxvt.Я решил, следуя инструкциям этой ссылки:

https://wiki.archlinux.org/index.php/Home_and_End_keys_not_working

Оказывается, у меня был 'export TERM' в моем .bashrc (затем удален).

I 'мы также исправили мои .Xdefaults ( URxvt * termName: rxvt-unicode-256color ) и мой .tmux.conf ( set -g default-terminal rxvt-unicode-256color )

Вы можете выполнить действия, описанные в этой ссылке на archlinux, и сообщить нам, работает ли она.

Я бы сделал это как комментарий, но у меня нет на это очков.

Такжеответ с несколькими голосами здесь не отвечает на вопрос полностью.

Сегодня я провел больше тестов: Что я проверял: ssh соединение в CentOS;machine 1 - нет tmux - $ TERM = ansi machine 2 - tmux - $ TERM = screen-256color

В обоих случаях, установите $ TERM в rxvt-256color, чтобы устранить проблему.(Если вы используете tmux / screen set в их файлах conf, в противном случае установите в .bashrc)

Попробовал то же самое на моей машине (debian - tmux - urxvt - neovim);и это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...