Почему vi ведет себя иначе в Ubuntu, чем в CentOS?

StackOverflow https://stackoverflow.com/questions/1074614

  •  21-08-2019
  •  | 
  •  

Вопрос

Мне становится все более и более комфортно использовать vi на ежедневной основе, но одна вещь, которая меня беспокоит, заключается в том, что когда я использую его на Ubuntu, он ведет себя иначе, чем когда я использую его на CentOS (и, вероятно, в других местах).На самом деле мне больше нравится, как это работает в CentOS.

Вот три вещи, которые действительно беспокоят меня в Ubuntu:

  1. В режиме вставки CentOS внизу есть большое жирное уведомление о том, что я нахожусь в режиме вставки, но в Ubuntu уведомления нет, поэтому я никогда не могу сказать, в каком режиме я нахожусь.

  2. В режиме вставки CentOS я могу нажимать клавиши up / down, и курсор будет перемещаться вверх и вниз.Но когда я нахожусь в Ubuntu, нажатие вверх и вниз вставляет буквы A и B соответственно в новые строки.

  3. В режиме вставки CentOS я могу использовать клавишу backspace, и она удалит символ, который находится перед курсором, но в Ubuntu я просто слышу звуковой сигнал, и ничего не происходит.Я могу нажать клавишу delete в командном режиме, но я бы предпочел иметь возможность нажимать клавишу backspace.

Являются ли эти различия чем-то, с чем мне приходится жить, или это легко исправить?

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

Решение

В ubuntu установка vim по умолчанию осуществляется из пакета vim-tiny, и это еще не все.

Вы, вероятно, хотите:

apt-get install vim

или

apt-get install vim-full

Некоторые из ваших других проблем звучат как проблемы с клавишей backspace и другими вещами.Как только вы получите полную версию vim, попробуйте добавить их в свой .vimrc:

set nocompatible

set t_kb=^H
fixdel

(ВАЖНОЕ ПРИМЕЧАНИЕ:это ^H - буквальный символ ctrl-H, который вы получите, выполнив Ctrl-V Ctrl-H в режиме вставки)

Другие советы

Ранее предложенные ответы для меня не сработали.

Я, как правило, предпочитаю оставлять установки операционной системы как можно более стандартными и сохранять конфигурационные файлы как можно более простыми.Чтобы исправить эти три проблемы в Ubuntu 12.04, я сделал следующее:

В "~/.vimrc" вставьте строки -
установить nocp
установите bs=2

В дополнение к установке vim-full, если у вас еще нет ~/.vimrc:

$ cp /usr/share/vim/vimcurrent/vimrc_example.vim ~/.vimrc

Этот пример .vimrc уже сделаны наиболее важные настройки, и это хорошее начало для настройки.

Я предполагаю, вы имеете в виду VIM, когда говорите VI?И, по крайней мере, 2-й пункт, похоже, связан с проблемой консоли / терминала с комбинацией VIM / term.На странице ниже предложены некоторые исправления, но ни одно из них не сработало (я использую vim поверх putty в окне разработки Ubuntu).

http://vim.wikia.com/wiki/Fix_broken_arrow_key_navigation_in_insert_mode

3 -й пункт можно перезаписать , используя следующее в вашем .vimrc

установить backspace=отступ, eol, начало

(1) Проверьте, есть ли showmode настройки в обоих случаях разные.

(2) Не знаю насчет этого, я думаю, что это больше связано с терминалом, чем с самим Vi.

(3) Возможно, попробуйте использовать :map <BS> :normal d ?

В CentOS vi является псевдонимом для другой программы vim, но в последних версиях Ubuntu vi означает просто vi, а не vim.Разницу вы видите, если это разница между двумя разными программами, vi и vim.

Если вам нравится vim, просто запустите vim, а не vi.Это работает и в Ubuntu

Установка этого в моем .vimrc сработала для меня..

set term=builtin_ansi

У меня есть WDMyCloud с Debian 7 внутри, я использую like:

cp /usr/share/vim/vimcurrent/debian.vim ~/.vimrc

В моем случае vim-файл создается следующим образом:

set nocompatible

fixdel

Если я добавлю set t_kb=^H, клавиша backspace просто отображается как клавиша удаления.

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