Vim:结合autocmd?

Pau*_*gar 6 vim autocmd

我需要在vim中执行逻辑和两个autocmd事件.基本上,当FileType为tex时,该命令必须在InsertLeave上运行.看起来这应该工作(在.vimrc中):

autocmd FileType tex :autocmd InsertLeave :w
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.嵌套选项似乎也没有帮助,即使手册指出它应该.

它易于做逻辑或:

autocmd BufEnter,BufLeave ...
Run Code Online (Sandbox Code Playgroud)

做逻辑AND一定不是太难.

ZyX*_*ZyX 9

我对@Eevee的答案进行了修正:要使自动命令仅适用于一个缓冲区,你应该使用

augroup TexAutoWrite
    autocmd FileType tex :autocmd! TexAutoWrite InsertLeave <buffer> :update
augroup END
Run Code Online (Sandbox Code Playgroud)

,见`:h autocmd-buflocal.