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

29

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

Funky81
источник
2
Просто любопытно: какой линукс расст. в том, что? Я не могу вспомнить, чтобы когда-нибудь видел старую Vi по умолчанию.
Брайан Расмуссен
2
На самом деле, это крайне маловероятно, чтобы это был vi, так как это не было бы кодом FOSS.
Из памяти видно, что в некоторых дистрибутивах (я думаю, что это был RHEL) они настроили команду viна классический режим в VIM.
Се Хуэй Леонг
4
Зачем выполнять vi, если вы предпочитаете vim? РЕДАКТОР экспорта = VIM?
Тадеуш А. Кадлубовский
Arch также имеет клон "vi" по умолчанию вместо vim.
WhyNotHugo

Ответы:

34

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

jtimberman
источник
2
В последних версиях Ubuntu по умолчанию устанавливается только vim-tiny. Установите vim, чтобы получить полную версию.
Хэмиш Даунер
28

В вашем .bashrc:

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

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

mwalling
источник
9

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

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

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

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

Нагул
источник
3

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

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

set nocompatible

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

Johan
источник
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

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

alias vi="vim"
Чжан Базз
источник