在基于 Debian 的系统上,替代系统处理vi
和vim
可执行文件。所以如果vim
安装了并且你执行了vi
,你也会得到vim
,我觉得这很好,因为我非常讨厌经典vi
。
在 Fedora 17“Beefy Miracle”上,替代系统显然不能处理这两者中的任何一个。但是有一个配置文件,/etc/profile.d/vim.sh
其中添加了一个 shell 别名来 make vi
execute vim
。出于某种原因,它不会为系统用户(包括 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
Run Code Online (Sandbox Code Playgroud)
并且ls -l /usr/bin/vi
:
-rwxr-xr-x. 1 root root 782248 13. Feb 2012 /usr/bin/vi
Run Code Online (Sandbox Code Playgroud)
# echo 'alias vi="vim"' >> /etc/bashrc'
或者 # alternatives --install /usr/bin/vi vi /usr/bin/vim 900
你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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8265 次 |
最近记录: |