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

Était-ce utile?

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top