我正在使用 Ubuntu 12.04。我并不是在抱怨,因为我喜欢vim
并且更喜欢它的许多功能。但是,我很好奇它为什么会这样。它没有别名,.bashrc
或者.bash_profile.
我不确定它从哪里得到了这种行为。有人可以解释一下吗?另外,出于好奇,是否可以启动经典vi
?
答案1
因为 Vim 是一款维护良好、兼容 vi 的开源编辑器,所以它与 Linux 完美匹配。我上次看到纯“vi”在专有 Unix 上的实现,如 SunOS、HP-UX、AIX;在 BSD 上你也可能“幸运”。(但当然,Vim 也可以安装在这些系统上。)
在 Ubuntu 上,默认安装的是精简版的 Vim(vim-tiny);足以进行 vi 风格的编辑。真正的 Vim 用户通常会安装vim-gnome完整安装的软件包,包括图形 GVIM。
答案2
vim
是 的后继者vi
。它代表 vi 的改进版。
/usr/bin/vi
只是 vim 的一个符号链接。你可以使用以下命令查看:
ls -l /usr/bin/vi
要启动“经典 vi”:
vim -u NONE myText.txt
工作原理:vim 在 处查找配置文件~/.vimrc
,如果找到,它将作为 vim 运行,除非该行set compatible
出现在 .vimrc 中。为了节省编辑 .vimrc 和添加该行的时间,我们告诉 vim 不要使用该-u NONE
选项查找 .vimrc。
您NONE
可以指定一个更适合设置 vi 的不同手写配置文件(vim 的 .vimrc 常常使 vi 混淆,因为它可能包含现代 vim 特定的附加内容。)
至于为什么 vi 是 vim 的符号链接,我只听到了人们的意见。有人说这是为了允许运行旧脚本。但我认为我很少看到在脚本中调用 vi 或 vim。其他人说这是为了让程序员在想要编辑时硬性输入 vi。
答案3
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 兼容模式下运行,但也有一个名为 nvi 的非常基本的 vi 克隆版,您也可以安装。
sudo apt-get install nvi