我将如何禁用AutoCMD以输入/离开Windows这样的":help",":nerdtree"或":tlistopen"?
现在,我在调用这些命令之前和之后修改" festignore"(除了":help",我还不知道该怎么做),但是我还不知道在四处走动时做到这一点使用" Ctrl-W",因此,每次我输入并留下那些窗户时,我的AutoCMD都会发射。
我猜这些窗口的共同点是它们仅阅读或对我可以执行的操作有限制。如果我能获得这些信息,我可能可以在我的AutoCMD上放置IF语句。
首先,设置一些缓冲区 - 本地变量:
augroup MyAutocommands
au!
au BufNewFile,BufRead * let b:my_autocommands = DoMyAutocommands()
" other autocommands
augroup END
创建DoMyAutocommands
函数。对于初学者,
function! DoMyAutocommands()
if @buftype == 'help'
return 1
endif
" other conditions ...
return 0
endfun
然后,您所调用的每个自动指数或功能都可以检查exists('b:my_autocommands') && b:my_autocommands
。