如何从vim中删除这个“Auto Commands”消息?

时间:2014-10-15 11:57:45

标签: vim

如果我在我的vimrc中有这一行

au VimLeave %bdelete

然后每当vim开始它就说

--- Auto-Commands ---
Press ENTER or type command to continue

我有那条线从gvim清空缓冲区,因为新的gvim实例从之前的运行中输出了大量:ls。值得注意的是,gvim实际上并没有产生这个提示。

显然,我可以将此实例设置为仅在gvim启动期间而不是控制台vim,但我想了解这一点而不是避免它。我很困惑,VimLeave似乎会导致事情在启动时发生。

TIA Altreus

2 个答案:

答案 0 :(得分:6)

问题是这是一个不完整的:autocmd定义,因此Vim会尝试列出为模式VimLeave定义的所有%bdelete自动命令。您需要指定任何文件模式才能使其正常工作:

au VimLeave * %bdelete

另外,请检查%选项中是否有'viminfo';那个可以保存和恢复你抱怨的缓冲列表。文件标记的f选项也可能导致缓冲区被恢复;你可以尝试:set viminfo+=f0

答案 1 :(得分:1)

除非%添加到viminfo选项,否则新的Vim实例不会继承前一个实例的缓冲区列表。

将该选项设置为合理的值将消除对破解修复的需求。在向配置中添加选项之前阅读文档可以防止出现类似问题。

请参阅:help 'viminfo'