我最终决定学习 vi,当我这样做时,我意识到 vi 的行为并不像我预期的那样。我从另一篇文章中了解到,这是因为在 Ubuntu 上默认安装了 vim-tiny。
当我了解到后,我选择使用以下命令安装完整版的vim:
sudo apt-get install vim
这样做之后,我对很多事情感到好奇:
- 我注意到 vi 和 vim 命令现在与完整版本的 vim 相关联,而不是与 vim-tiny 相关联。这是怎么发生的? (即名称查找是如何工作的?)
- 如何显式执行 vim-tiny 或满的维姆?
- Linux/Ubuntu/apt 如何管理名称冲突的库和可执行文件?不同版本又如何呢?
我正在使用 Ubuntu Server 12.04 LTS。
答案1
在 Debian 衍生品上,它是通过替代系统处理的:
$ ls -l /usr/bin/vim
lrwxrwxrwx 1 root root 21 Jun 11 2010 /usr/bin/vim -> /etc/alternatives/vim
$ ls -l /etc/alternatives/vim
lrwxrwxrwx 1 root root 18 Jun 11 2010 /etc/alternatives/vim -> /usr/bin/vim.gnome
软件包安装后脚本(当 dpkg 说“配置软件包 X”时运行的脚本)告诉替代系统有关 vim 的新替代方案。新的替代方案具有更高的优先级,因此被选中。
您可以直接运行它们vim.tiny
,如vim.full
、vim.gnome
、 等。
您可以使用该命令覆盖默认值update-alternatives
。
(实际上,我认为 vim.tiny 在某种程度上是一种特殊情况,因为除非空间非常宝贵,否则它并不真正打算使用。至少,它在这里没有显示为替代方案。)