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

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

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

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

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

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

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


person Adam Plumb    schedule 02.07.2009    source источник


Ответы (9)


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

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

apt-get install vim

or

apt-get install vim-full

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

set nocompatible

set t_kb=^H
fixdel

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

person Jeremy Smyth    schedule 02.07.2009
comment
Спасибо! Я установил vim-full, и это решило все три проблемы! - person Adam Plumb; 02.07.2009

Предложенные ранее ответы мне не подошли.

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

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

person Daved    schedule 12.07.2012

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

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

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

person 0x89    schedule 09.08.2009

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

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

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

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

person Svend    schedule 02.07.2009

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

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

(3) Может быть, попробовать использовать :map <BS> :normal d ?

person Swaroop C H    schedule 02.07.2009

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

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

person dmityugov    schedule 03.07.2009

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

set term=builtin_ansi
person Daantje    schedule 13.06.2013

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

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

person Imran Nababan    schedule 16.02.2017

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

set nocompatible

fixdel

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

person Eric Zhou    schedule 20.07.2019