[attach]5313[/attach]
当谈论 Vim 的兼容和不兼容模式时,我们所说的兼容性是指 Vim 兼容 Vi。 -- Himanshu Arora
本文导航
-Vim 中的兼容模式与不兼容模式 …… 10%
-系统级及本地 vimrc 文件 …… 12%
-我们谈论的是什么兼容性 …… 36%
-怎么启用/禁用这些模式? …… 50%
-其他有用细节 …… 72%
-结论 …… 89%
编译自: https://www.howtoforge.com/tutorial/vim-editor-modes-explained/
作者: Himanshu Arora
译者: ch-cn
...
...
...
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
fall-back for $VIM: "/usr/share/vim"
...
...
...
'compatible' 'cp' boolean (默认开启 ,当 |vimrc| 或 |gvimrc| 存在时关闭)
事实上,这意味着当一个 |vimrc| 或 |gvimrc| 文件存在时,Vim 会用默认的 Vim,否则它会用 Vi 默认的。(注:如果系统级的 vimrc 或 gvimrc 文件中带有 |-u| 参数,则不会这样。)。
在 Vim 启动时,‘compatible’选项是打开的。这将在 Vim 开始初始化时应用。但是一旦之后发现用户级 vimrc 文件,或在当前目录有一个 vimrc 文件,抑或是 VIMINIT 环境变量已设置,Vim 就会被设为不兼容模式。
:set nocompatible
现在通过创建一个 .vimrc 文件来设置或重置兼容性会有一个副作用:(键盘)映射(Mapping)在解释的时候会有冲突。这使得在用诸如回车控制符 <CR> 等情况时会有影响。如果映射关系依赖于兼容性的某个特定值,在给出映射前设置或者重置它。
上述行为能够用以下方式能覆盖:
如果给出 -N 命令行参数,即使不存在 vimrc 文件, ‘不兼容模式’ 也会启用。
如果给出 -C 命令行参数,即使存在 vimrc 文件, ‘兼容模式’ 也会启用。
如果应用了 -u {vimrc} 参数,‘兼容模式’将会启用。
当 Vim 的可执行文件的名称以 ex 结尾时,那这个效果跟给出 -C 参数一样:即使存在一个 vimrc 文件,‘兼容模式’ 也会启用,因为当 Vim 以 “ex” 的名称启用时,就会让 Vim 的工作表现得像 “前任” 一样(LCTT 译注:意即 Vim 像 Vi 一样工作)。 &#x60;&#x60;&#x60;
欢迎光临 51学通信论坛2017新版 (http://bbs.51xuetongxin.com/) | Powered by Discuz! X3 |