Question
Je dois faire les logiques et de deux événements autocmd dans vim. En gros, la commande doit fonctionner sur un InsertLeave lorsque le FileType est tex. Il semble que cela devrait fonctionner (dans un Vimrc):
autocmd FileType tex :autocmd InsertLeave :w
Mais il ne fonctionne pas. L'option imbriquée ne semble pas aider non plus, même si le manuel indique qu'il devrait.
Il est facile de faire une logique OU:
autocmd BufEnter,BufLeave ...
il ne doit pas être trop difficile à faire.-ET logique
La solution
J'ai une correction à @Eevee réponse: pour rendre le travail de autocommand pour un seul tampon, vous devez utiliser
augroup TexAutoWrite
autocmd FileType tex :autocmd! TexAutoWrite InsertLeave <buffer> :update
augroup END
, voir `:. H autocmd-buflocal
Autres conseils
InsertLeave a encore besoin d'un paramètre.
Cela fonctionne pour moi:
autocmd FileType tex :autocmd InsertLeave * :w
Notez que ce comportement reste si vous modifiez ultérieurement un fichier non-tex
dans le même tampon. Je ne sais pas s'il y a un moyen simple de le retirer quand quelque chose l'édition mais un certain type de fichier.
Vous pouvez utiliser l'option de configuration du autocmnd.
autocmd InsertLeave *.tex w