В системах на основе Debian система альтернатив обрабатывает vi
и vim
исполняемый файл. Так что, если vim
установлен и вы выполняете vi
, вы также получите vim
, что я считаю очень хорошим, потому что я абсолютно ненавижу классику vi
.
На Fedora 17 "Beefy Miracle" система альтернатив, очевидно, не справляется ни с одним из двух. Но есть файл профиля, в /etc/profile.d/vim.sh
который добавляется псевдоним оболочки для выполнения vi
execute vim
. По некоторым причинам это не делает этого для системных пользователей, включая root.
Но даже если я установлю псевдоним для всех пользователей вручную, при звонке sudo vi
я начинаю классический vi
вместо vim
. Это возможно потому, что sudo не запускает оболочку или файлы профиля выполняются только в интерактивных сеансах оболочки.
То, что я сейчас ищу, - это способ vi
полностью удалить classic, чтобы создать символическую ссылку, которая даже выдержит обновления системы. Как я могу удалить классический, vi
но не vim
на Fedora 17? Или есть даже лучший способ?
Обновление : с yum provides vi
я узнал, что vi
предусмотрено пакетом vim-minimal
. Но я не могу просто удалить его, потому что он автоматически удаляет пакет sudo
с ним. Даже если я удаляю его, а затем пытаюсь установить sudo
снова, vim-minimal
он снова устанавливается как зависимый.
Обновление : По запросу вывод rpm -qf /usr/bin/vi
:
vim-minimal-7.3.444-1.fc17.x86_64
И ls -l /usr/bin/vi
:
-rwxr-xr-x. 1 root root 782248 13. Feb 2012 /usr/bin/vi
rm /usr/bin/vi; ln -s /usr/bin/vim /usr/bin/vi
, Не ответ, потому что я лично нашел бы лучший способ (или набрал бы vim, если бы я хотел vim).vim-minimal
обновлении пакета?/usr/bin/vi
символическая ссылка (на что) или обычный файл на Fedora? Если обычный файл, из какого пакета?ls -l /usr/bin/vi
иrpm -qf /usr/bin/vi
.Ответы:
Ваш
vi
Vim, но вызывается какvi
, поэтому он входит в режим исторической совместимости. Рекомендуемое действие: если вы хотите запустить Vim, а не vi, запуститеvim
и нетvi
. Однако, если вы хотитеvi
всегда запускать Vim для каждой учетной записи в системе, переопределите его в/usr/local/bin
:источник
sudo ln -s /usr/bin/vim /usr/local/bin/vi
. Но вы должны добавить/usr/local/bin
в крайнюю левую частьDefaults secure_path="…"
конфигурацииvisudo
, иначе символическая ссылка не будет найдена.cat >/usr/local/bin/vi
имели в виду (неcat >/usr/local/bin
)? Выchmod 755 /usr/local/bin/vi
имели в виду (не.../vim
)?/usr/local/sbin/vi
.# echo 'alias vi="vim"' >> /etc/bashrc'
или# alternatives --install /usr/bin/vi vi /usr/bin/vim 900
источник
vim-minimal
обновлении пакета?.bashrc
это хорошая практика ... мне @llua дал хороший ответК вашему сведению недавняя Fedora (по крайней мере с 18) устанавливает, что псевдоним gobally за
/etc/profile.d
один разvim-enchanced
установленисточник