vim 中的第 1 步:
:map o iinsert<CR>some<CR>lines<ESC>
在正常设置(如 debian)中,按 o 现在将根据需要插入以下内容:
insert
some
lines
但是在 cygwin 上的 vim 中,<CR>
无法正确解析,因此按 o 将插入以下内容:
insert<CR>some<CR>lines<ESC>
我怎样才能使这种映射在 cygwin 中正确工作?
(注意::verbose map 的输出在 debian 和 cygwin 上是相同的)
答案1
您可能需要:set nocompatible
先“ ”,或者创建一个 ~/.vimrc (让 vimrc 自动执行与 相同的操作:set nocompatible
)。
您想要处于不兼容模式的原因是,这会告诉 Vim 启用大量增强功能集,而这些功能集与原始 vi 的行为并不严格兼容。
这也回答了你关于“ :se cpoptions=aABceFs
”的问题——你从该选项中删除了“<”字符,当它存在时,禁用映射中的 <...> 代码的识别等等。