如果我在我的vimrc中有这一行
au VimLeave %bdelete
Run Code Online (Sandbox Code Playgroud)
然后每当vim开始它说
--- Auto-Commands ---
Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)
我有那条线从gvim清空缓冲区,因为新的gvim实例具有:ls
以前运行的大量输出.值得注意的是,gvim实际上并没有产生这个提示.
显然我可以将此实例设置为仅在gvim启动期间而不是控制台vim,但我想理解这一点而不是避免它.大多数情况下,我很困惑,这VimLeave
似乎会导致事情在启动时发生.
TIA Altreus
问题是这是一个不完整的:autocmd
定义,因此Vim会尝试列出VimLeave
为该模式定义的所有自动命令%bdelete
.您需要指定任何文件模式才能使其工作:
au VimLeave * %bdelete
Run Code Online (Sandbox Code Playgroud)
另外,检查您是否有%
选择'viminfo'
权; 那个可以保存和恢复你抱怨的缓冲列表.f
文件标记的选项也可能导致缓冲区被恢复; 你可以试试:set viminfo+=f0
.