Vim, чтобы заменить Vi

48170
Funky81

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

27
Просто любопытно: какой линукс расст. в том, что? Я не могу вспомнить, чтобы когда-либо видел Vi старой школы по умолчанию. Brian Rasmussen 15 лет назад 2
На самом деле, это крайне маловероятно, чтобы это был vi, так как это не было бы кодом FOSS. 15 лет назад 2
Из памяти видно, что в некоторых дистрибутивах (кажется, это был RHEL), они настроили команду `vi` на классический режим в VIM. Seh Hui Leong 15 лет назад 0
Зачем выполнять vi, если вы предпочитаете vim? РЕДАКТОР экспорта = VIM? Tadeusz A. Kadłubowski 15 лет назад 4
Arch также имеет клон "vi" по умолчанию вместо vim. WhyNotHugo 12 лет назад 0

8 ответов на вопрос

32
jtimberman

Во-первых, убедитесь, что у вас установлены правильные пакеты 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 более полезным.

В последних версиях Ubuntu по умолчанию устанавливается только vim-tiny. Установите vim, чтобы получить полную версию. Hamish Downer 15 лет назад 2
29
Al.

В вашем .bashrc:

alias vi=vim 
Это не повлияет на что-либо, что не использует bash, например, если вы нажмете «v» внутри less (1), он все равно будет запускать «настоящий» vi. Kevin Panko 15 лет назад 2
Переменные окружения `EDITOR` и` VISUAL` будут иметь приоритет, когда вы нажмете `v` над командой` vi` по умолчанию. Итак, в вашем `.bashrc` экспортируйте` EDITOR` или `VISUAL` со значением` vim`; например, `export EDITOR = vim` и` export VISUAL = vim` в вашем `.bashrc` Nitrodist 13 лет назад 2
10
mwalling

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

8
nagul

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

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

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

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

3
Johan

Некоторые диски используют режим старой школы 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
w17t

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

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

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

0
Zhang Buzz

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

alias vi="vim" 

Похожие вопросы