VIM: проблемы с клавиатурой - ABCD

archive view archive save

vim-logo В некоторых случаях при использовании редактора VIM в режиме вставки текста клавиши направления вверх-вниз, вправо-влево, вместо привычного перемещения курсора могут печатать ABCD.

Это может происходить при использовании совместимости с классическим VI редактором, в режиме которого вместо привычного перемещения курсора клавиши направления печатают буквы ABCD в таком соответствии: Arrow UP (A) Arrow DOWN (B) Arrow RIGHT (C) Arrow LEFT (D)

Проверим что за VIM у нас стоит:

$ ls -la /usr/bin/vi
lrwxrwxrwx. 1 root root 20 Сен  9 09:31 /usr/bin/vi -> /etc/alternatives/vi
$ ls -la /etc/alternatives/vi
lrwxrwxrwx. 1 root root 17 Сен  9 09:32 /etc/alternatives/vi -> /usr/bin/vim.tiny

Как видим у нас установлена облегчённая (vim.tiny) версия редактора VIM. Самым простым способом будет удаление пакета vim-tiny и установка полной версии VIM, хотя и это может не спасти пока не отключить режим совместимости:

$ apt-get remove vim-tiny
$ apt-get install vim

Простая (ака tiny) версия редактора VIM весит всего-навсего 1 МБ, а его полная версия целых 24 МБ, и если для кого целых 24 МБ это слишком много, то мы можем пойти другим путём. Сначала глянем где должны быть конфиги:

$ vi --version | egrep -i 'vimrc|exrc|fall-back'
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -fstack-protector 
    --param=ssp-buffer-size=4 -Wformat -Werror=format-security -DTINY_VIMRC 
    -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1

Обычно переменная $VIM не определена и тогда системный vimrc ищется по fall-back адресу, который в нашем случае /usr/share/vim, но трогать мы его не будем, хотя немного о нём поговорим.

Системный файл конфигурации /usr/share/vim/vimrc содержит строчку runtime! debian.vim, которая подгружает файл debian.vim если он есть в директории /usr/share/vim. По умолчанию debian.vim в директории отсутствует, но его можно взять из /usr/share/vim/vimcurrent: cp /usr/share/vim/vimcurrent/debian.vim /usr/share/vim/ или сделать символьную ссылку на него ln -s /usr/share/vim/vimcurrent/debian.vim /usr/share/vim/debian.vim - или же ограничится ~/.vimrc в домашнем каталоге.

Создадим или отредактируем ~/.vimrc и добавим туда следующее:

$ vi ~/.vimrc
 
set nocompatible " must be the first line
filetype on
filetype indent on
filetype plugin on
syntax on

После двойной кавычки " идёт комментарий. Вдруг 'nocompatible' не поможет, тогда пробуем 'nocp'.

Если мы не удаляли простую (ака tiny) версию редактора VIM и не установили полную, то при следующем запуске редактора можем увидеть ошибку обработки файла ~/.vimrc:

$ vi ~/.vimrc
Error detected while processing /root/.vimrc:
line    2:
E319: Sorry, the command is not available in this version: filetype on
line    3:
E319: Sorry, the command is not available in this version: filetype indent on
line    4:
E319: Sorry, the command is not available in this version: filetype plugin on
line    5:
E319: Sorry, the command is not available in this version: syntax on
Press ENTER or type command to continue

Удалим или закомментируем строки 2-5, или установим полную версию редактора.

Для получения справки можно использовать :help nocompatible, а :q для выхода из справки.


Об авторе
АдМинь БагоИскатель
АдМинь БагоИскатель ярый борец за безглючную работу любых механизмов и организмов во всей вселенной и потому пребывает в вечном поиске всяческих багов, а тот кто ищет как известно всегда находит. Когда что-то или кого-то вылечить не в состоянии, то со словами "Я в аду, а вы все черти" уходит в запой выйдя из которого снова берётся лечить неизлечимое.
Ещё статьи автора

Добавить комментарий

АХТУНГ! Все комменты гостей модерасятся модерастом.
  1. Мессаги исключительно рекламного содержания, либо содержащие только одни оценочные суждения типа "круто" ("отлично", "спасибо", "автор дебил" и т.п.) не публикуются;
  2. Злостным спамерам, пранкерам и прочей сетевой нечисти рекомендуем напрасно не тратить своего времени и удовлетворять свои больные фантазии на специализированных Интернет ресурсах!;
  3. Разумная обоснованная критика, замечания, дополнения приветствуются. Поля помеченные символом * обязательны к заполнению.


Защитный код
Обновить

Нет комментариев

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

Комментарии в блоге
Новое на форуме