Search code examples
vimautocmd

Vim: Combining autocmd?


I need to do the logical-and of two autocmd events in vim. Basically, the command has to run on an InsertLeave when the FileType is tex. It seems like this should work (in a .vimrc):

autocmd FileType tex :autocmd InsertLeave :w

But it doesn't. The nested option doesn't seem to help either, even though the manual indicates it should.

Its easy to do a logical-OR:

autocmd BufEnter,BufLeave ...

it mustn't be too hard to do a logical-AND.


Solution

  • I have a correction to @Eevee answer: to make autocommand work for one buffer only, you should use

    augroup TexAutoWrite
        autocmd FileType tex :autocmd! TexAutoWrite InsertLeave <buffer> :update
    augroup END
    

    , see `:h autocmd-buflocal.