Fedora

在 Fedora 上用 Vim 全域替換 Vi

  • July 19, 2016

在基於 Debian 的系統上,替代系統同時處理vivim執行檔。因此,如果vim安裝並執行vi,您也會得到vim,我覺得這非常好,因為我絕對討厭經典vi

在 Fedora 17 “Beefy Miracle” 上,替代系統顯然不能處理這兩者。但是有一個配置文件,/etc/profile.d/vim.sh其中添加了一個 shell 別名來 make viexecute vim。出於某種原因,它不會對系統使用者(包括 root)執行此操作。

但是,即使我手動為所有使用者設置了別名,當我打電話時,我也會sudo vi開始使用經典vi而不是vim. 這可能是因為 sudo 不啟動 shell 或配置文件僅在互動式 shell 會話中執行。

我現在正在尋找的是一種vi完全解除安裝經典的方法,以製作一個甚至可以在系統更新後繼續存在的符號連結。如何刪除經典vi但不在vimFedora 17 上?還是有更好的方法?

更新:隨著yum provides vi我發現vi是包提供的vim-minimal。但我不能簡單地刪除它,因為它會自動刪除它的包sudo。即使我確實刪除了它,然後嘗試再次安裝sudovim-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

引用自:https://unix.stackexchange.com/questions/58237