繁体   English   中英

尝试在vim命令行窗口中返回正常模式时出错

[英]error when attempting to go back to normal mode in vim command-line window

当我打开命令行窗口以在vim中编辑复杂的命令行时,我希望能够像在任何其他缓冲区中那样来回进出插入/正常模式进行编辑。 (这是命令行窗口的重点,对吧?那我可以这样做吗?)但是,当我按下ESC返回正常模式时,我得到了这个:

Error detected while processing function <SNR>15_CloseStackPop:
line    3:
E11: Invalid in command-line window; <CR> executes, CTRL-C quits:         pclose

我想要解决这个问题的游戏,但我没有太多可以继续下去。 vim --noplugin似乎没有这个问题,所以它显然是我加载的插件之一,但是哪一个? 我有很多。 “第3行”的文件是什么? “E11”是什么意思?

事实证明,这是'autoclose'插件中的一个错误。 我从<SID>CloseStackPop函数中删除了对pclose的引用,现在命令行模式下的Escape工作正常。

如果其他人有这个问题:插件中的函数可以用<SID>定义,(在源代码中)看起来像<SID>Foo ,但是Vim看起来像<SNR>4321_Foo 我正在寻找15_CloseStackPop ,假设<SNR>是特别的东西,但是当我刚刚做了一个grep CloseStackPop -r ~/.vim/plugins的插件立刻就出现了。

尝试使用Ctrl + C作为Escape的同义词。 还要检查.vimrc以获取插件。 这不是vi的标准行为。 如果我是你,我不会使用任何插件,除非我完全确定他们做了什么。 也许从头开始并重新安装你完全确定的那些。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM