添加以下注册商定义后,我无法再保存_vimrc
。
let @m = "V}k:s/ /\&/gV{j,tt$b${j$yV}k:s/\&kbkb&/ /kbkb/g"
这是完整的错误图片。 事实证明,我在_vimrc
中的定义并未在stackoverflow上精确显示。我在编辑框中看到的就是这篇文章的最后部分。
编辑框:
奇怪的是,评论它也没有帮助!我仍然无法保存_vimrc
。错误信息应相同。
答案 0 :(得分:0)
_vimrc
中的以下设置导致了问题:
set set encoding=utf-8
这个设置本身并不邪恶,但(我猜)它会导致通过键盘输入的所有键击编码方式不同。 Vim
不喜欢它。
因此,当我录制宏时,在保持此类设置处于活动状态时,Vim正在录制仅与utf-8
兼容的内容。然后,当我尝试将宏捕获的内容分配给某个寄存器项时,Vim
对于那些奇怪的键击编码"错误地"感到困惑。
简而言之:
记录将encoding
设置为默认值的宏(注释掉现有的编码规范);
从寄存器粘贴到_vimrc
,定义应为
let @g = "{}{jV}k:s/ /\&/gV{j,tt$^M{j$yV}k:s/&//g^M"
或者,在视觉上_vimrc
如下: