27

Ребята, кто-нибудь знает, как изменить редактор консоли Linux с vi на vim при каждом запуске vi? Я использую Ubuntu и Fedora Core

8 ответов8

33

Во-первых, убедитесь, что у вас установлены правильные пакеты Vim. По умолчанию во многих системах устанавливается минимальный пакет Vim, который по функциональности ближе к Vi.

В системах на базе Red Hat (RHEL, CentOS, Fedora) вам необходим пакет с расширенной vim, например, из системы CentOS, которую я установил:

vim-common-7.0.109-4.el5_2.4z
vim-enhanced-7.0.109-4.el5_2.4z
vim-minimal-7.0.109-4.el5_2.4z

'common' содержит общие библиотеки, используемые всеми пакетами Vim. 'minimal' - это исполняемые файлы простого редактора vi, установленные по умолчанию.

В системах на основе Debian (например, Ubuntu) вам нужен vim. Например:

ii  vim                  2:7.2.079-1ubuntu5  Vi IMproved - enhanced vi editor
ii  vim-common           2:7.2.079-1ubuntu5  Vi IMproved - Common files
ii  vim-runtime          2:7.2.079-1ubuntu5  Vi IMproved - Runtime files
ii  vim-tiny             2:7.2.079-1ubuntu5  Vi IMproved - enhanced vi editor - compact version

Они должны быть установлены по умолчанию. В Debian/Ubuntu вы можете обновить системный редактор по умолчанию для всех пользователей:

sudo update-alternatives --config vi

Выберите нужную версию из меню выбора. Однако после установки скриптов для пакета vim это уже должно быть обновлено. Используйте --config editor чтобы изменить редактор по умолчанию для всех пользователей в системе (например, Ubuntu 9.04 по умолчанию является nano).

Наконец, для каждого дистрибутива для каждого пользователя установите псевдоним в профиле пользователя. Например, если оболочкой является bash, отредактируйте ~ username/.bashrc:

alias vi="vim"

Также вы можете проверить системный vimrc (обычно /etc /vimrc), чтобы узнать, включен ли режим совместимости.

set cp
set compatibility

Скажет Vim вести себя больше как Vi старой школы, независимо от того, как вы справились с использованием Vim выше. Измените на nocp или nocompatibility, чтобы сделать Vim более полезным.

29

В вашем .bashrc:

alias vi=vim
10

Если это система Debian или Ubuntu, и вы хотите сделать это изменение общесистемным, вы должны использовать update-alternatives (укажите в параметрах --config editor , и вы должны быть золотыми)

8

Если вам нужны изменения только для вашего идентификатора и в терминальной сессии: псевдоним vi к vim, как предложено AI.

Если вы хотите общесистемные изменения на вашем компьютере, используйте мягкую ссылку на vim в /usr/local/bin:

sudo ln -s `which vim` /usr/local/bin/vi

Примечание. Программы могут игнорировать любые псевдонимы vi, выполнив command vi или \vi вместо просто vi.

3

Некоторые диски используют режим старой школы vim:s, который ведет себя как vi.

проверьте, содержит ли ваш .vimrc

set nocompatible

Я был одурачен этим пару раз ....

1

В системах Debian, когда вы запускаете vim-tiny по умолчанию как 'vi', используется другой файл RC - /etc/vim/vimrc.tiny.

Чтобы заставить 'vi' действовать больше как 'vim', отредактируйте /etc/vim/vimrc.tiny и измените строку:

set compatible

читать:

set nocompatible
0

Я сделал это в .profile на используя :

if [ -f "/usr/bin/vim" ];
 alias vi="vim"
else
 alias vim="vi"
fi

export EDITOR=vim

Так вот, всегда будет правильно или как .

0

Если вы используете fish, поместите следующую строку в ~/.config/fish/config.fish:

alias vi="vim"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .