在 Fedora 上用 Vim 全域替換 Vi
在基於 Debian 的系統上,替代系統同時處理
vi
和vim
執行檔。因此,如果vim
安裝並執行vi
,您也會得到vim
,我覺得這非常好,因為我絕對討厭經典vi
。在 Fedora 17 “Beefy Miracle” 上,替代系統顯然不能處理這兩者。但是有一個配置文件,
/etc/profile.d/vim.sh
其中添加了一個 shell 別名來 makevi
executevim
。出於某種原因,它不會對系統使用者(包括 root)執行此操作。但是,即使我手動為所有使用者設置了別名,當我打電話時,我也會
sudo vi
開始使用經典vi
而不是vim
. 這可能是因為 sudo 不啟動 shell 或配置文件僅在互動式 shell 會話中執行。我現在正在尋找的是一種
vi
完全解除安裝經典的方法,以製作一個甚至可以在系統更新後繼續存在的符號連結。如何刪除經典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
你
vi
是 Vim,但呼叫為vi
,所以它進入了歷史兼容模式。建議的操作是,如果您想執行 Vim 而不是 vi,請執行vim
而不是vi
. 但是,如果您想vi
始終在系統上的每個帳戶上執行 Vim,請在以下位置覆蓋它/usr/local/bin
:cat >/usr/local/bin/vi <<\EOF #!/bin/sh exec /usr/bin/vim "$@" EOF chmod 755 /usr/local/bin/vi
# echo 'alias vi="vim"' >> /etc/bashrc'
或者# alternatives --install /usr/bin/vi vi /usr/bin/vim 900