当我输入vi
终端时,它显示以下显示:
请注意,它说的是 vim 而不是 vi,我确定我还没有下载 vim 并且这实际上是 vi 而不是 vim:例如,箭头键打印 ABCD 而不是移动。
hee*_*ayl 15
如果您使用的是 Debian,则因为in的条目而vi
打开。让我为你分解一下。vim
vi
/etc/alternatives
当你这样做时ls -l /usr/bin/vi
:
lrwxrwxrwx 1 root root 20 Jul 1 2014 /usr/bin/vi -> /etc/alternatives/vi
Run Code Online (Sandbox Code Playgroud)
如您所见,vi
二进制文件是指向/etc/alternatives/vi
.
现在如果你这样做ls -l /etc/alternatives/vi
:
lrwxrwxrwx 1 root root 18 Jul 1 2014 /etc/alternatives/vi -> /usr/bin/vim.basic
Run Code Online (Sandbox Code Playgroud)
它是指向二进制文件的符号链接vim.basic
。
所以,简而言之:/usr/bin/vi
→ /etc/alternatives/vi
→/usr/bin/vim.basic
结果如果你vi
在shell中输入,vim.basic
就会打开。
您可以/etc/alternatives
通过命令检查和更改中的值,update-alternatives
但我认为您的原始问题已经得到解答。
在许多 Linux 系统上,默认vi
确实是 Vim 的一个版本,与安装 Vim 包时所获得的选项相比,通常使用更少的选项编译(没有内置的 perl 和 python 支持,没有 GUI 等)。
例如箭头键打印 ABCD 而不是移动。
这是由于您的终端模拟器与 Vim 对所使用的 terminfo/termcap 条目的理解不一致造成的。通常,这是由于 Vim 发送了t_ks
代码以“启用”箭头键(实际上是将它们置于发送<1b>OA
而不是 的模式中<1b>[A
),但预期的键用于其他模式(例如t_ku=<1b>[A
向上箭头)。尝试更改您的 TERM 环境变量或 vim 选项(set term=builtin_ansi
或builtin_xterm
在 vimrc 中可能有效,尽管它可能会禁用颜色),使用不同的终端,或作为最后的手段添加set t_ks= t_ke=
到您的.vimrc
文件以禁用此模式切换。这是 vim 帮助文件中的建议解决方案,在:help cs7-problem
.
这种行为绝不是“实际上是 vi 而不是 vim”的迹象——大多数现代“正版”版本的 vi 或 nvi 也支持箭头键。
原来的问题已经回答了,说明 vi 是 vim 的别名,命令 vi 启动 vim 是正常的。
应该注意的是,vim(在某些设置中)对调用它的名称很敏感。即使vi
和vim
两者执行相同的二进制他们可以表现不同。
归档时间: |
|
查看次数: |
2592 次 |
最近记录: |