Ребята, кто-нибудь знает, как изменить редактор консоли Linux с vi на vim при каждом запуске vi? Я использую Ubuntu и Fedora Core
8 ответов
Во-первых, убедитесь, что у вас установлены правильные пакеты 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 более полезным.
В вашем .bashrc:
alias vi=vim
Если это система Debian или Ubuntu, и вы хотите сделать это изменение общесистемным, вы должны использовать update-alternatives
(укажите в параметрах --config editor
, и вы должны быть золотыми)
Если вам нужны изменения только для вашего идентификатора и в терминальной сессии: псевдоним vi к vim, как предложено AI.
Если вы хотите общесистемные изменения на вашем компьютере, используйте мягкую ссылку на vim в /usr/local/bin:
sudo ln -s `which vim` /usr/local/bin/vi
Примечание. Программы могут игнорировать любые псевдонимы vi, выполнив command vi
или \vi
вместо просто vi.
Некоторые диски используют режим старой школы vim:s, который ведет себя как vi.
проверьте, содержит ли ваш .vimrc
set nocompatible
Я был одурачен этим пару раз ....
В системах Debian, когда вы запускаете vim-tiny по умолчанию как 'vi', используется другой файл RC - /etc/vim/vimrc.tiny.
Чтобы заставить 'vi' действовать больше как 'vim', отредактируйте /etc/vim/vimrc.tiny и измените строку:
set compatible
читать:
set nocompatible
Я сделал это в .profile
на archlinux, используя bash:
if [ -f "/usr/bin/vim" ];
alias vi="vim"
else
alias vim="vi"
fi
export EDITOR=vim
Если вы используете fish, поместите следующую строку в ~/.config/fish/config.fish
:
alias vi="vim"