Я использую Ubuntu 12.04. Не то чтобы я жалуюсь, потому что мне нравится мой vim
и я предпочитаю его множество функций. Тем не менее, мне любопытно, почему он это делает. Это не псевдоним в .bashrc
или .bash_profile.
Я не уверен, откуда он берет это поведение. Может кто-нибудь объяснить, пожалуйста? А также, из любопытства, возможно ли запустить классический vi
?
3 ответа
Поскольку Vim - это хорошо поддерживаемый, vi-совместимый редактор с открытым исходным кодом, поэтому он идеально подходит для Linux. В последний раз я видел реализации чистого "vi" на проприетарных Unix, таких как SunOS, HP-UX, AIX; Вы также можете стать "счастливчиком" на BSD. (Но, конечно, Vim может быть установлен и на них.)
В Ubuntu по умолчанию устанавливается урезанная версия Vim (vim-tiny); достаточно, чтобы сделать редактирование в стиле vi. Пользователи Real Vim обычно устанавливают пакет vim-gnome для полной установки, включая графический GVIM.
vim
является наследником vi
. Это расшифровывается как vi.
/usr/bin/vi
- это просто символическая ссылка на vim. Вы можете увидеть это с:
ls -l /usr/bin/vi
Чтобы начать "классический ви":
vim -u NONE myText.txt
Как это работает: vim ищет файл конфигурации в ~/.vimrc
, если он найден, он будет работать как vim, если set compatible
строк не появится в .vimrc. Чтобы сохранить редактирование .vimrc и добавить эту строку, мы говорим vim не беспокоиться о поиске .vimrc с опцией -u NONE
.
Вместо NONE
вы можете указать другой рукописный конфигурационный файл, более подходящий для настройки vi (vim .c. Vimrc часто путает vi, так как он может содержать современные специфичные для vim дополнения.)
Относительно того, почему vi является символической ссылкой на vim, я слышал только мнения людей. Некоторые говорят, что это было сделано для запуска старых скриптов. Но я не думаю, что я видел vi или vim, вызываемые в сценарии. Другие говорят, что программисты жестко набирают vi, когда хотят редактировать.
Debian и Ubuntu используют систему, в которой используются символические ссылки для указания альтернатив. Это осуществляется с помощью update-alternatives
. (man 8 update-altnernatives
)
Вы обнаружите, что /usr/bin/vi
является символической ссылкой на /etc/alternatives/vi
и это символьная ссылка на что-то вроде /usr/bin/vim.gnome
.
Следующая команда покажет вам, какие двоичные файлы вы установили и которые предоставляют функциональность vi:
sudo update-alternatives --list vi
Это позволит вам выбрать двоичный файл vi в интерактивном режиме:
sudo update-alternatives --config vi
Это позволит вам выбрать один вручную, например:
sudo update-alternatives --set vi /usr/bin/nvi
Это позволит вам вернуться к автоматическим настройкам:
sudo update-alternatives --auto vi
Как уже говорили другие, vim может работать в режиме совместимости с vi, но есть довольно простой vi-клон под названием nvi, который вы также можете установить.
sudo apt-get install nvi