Frage
Ich brauche die logischen und von zwei autocmd Ereignisse in vim zu tun. Grundsätzlich hat der Befehl auf einem InsertLeave laufen, wenn der Dateityp tex ist. Es scheint, wie dies sollte (in einem .vimrc) arbeiten:
autocmd FileType tex :autocmd InsertLeave :w
Aber es funktioniert nicht. Die verschachtelte Option scheint nicht zu helfen, obwohl das Handbuch gibt es soll.
Es ist einfach zu tun, ein logischer OR:
autocmd BufEnter,BufLeave ...
es darf nicht zu schwer sein, zu tun, eine logische UND.
Lösung
Ich habe eine Korrektur Antwort auf @Eevee: automatische Befehl Arbeit für einen Puffer nur zu machen, sollten Sie verwenden
augroup TexAutoWrite
autocmd FileType tex :autocmd! TexAutoWrite InsertLeave <buffer> :update
augroup END
finden Sie unter `: h. Autocmd-buflocal
Andere Tipps
InsertLeave muss noch einen Parameter.
Dies funktioniert für mich:
autocmd FileType tex :autocmd InsertLeave * :w
Beachten Sie, dass dieses Verhalten wird bleiben, wenn Sie später eine nicht-tex
Datei in dem gleichen Puffer bearbeiten. Ich bin mir nicht sicher, ob es eine einfache Möglichkeit, es zu entfernen, wenn etwas Bearbeitung und eine bestimmte Art von Datei.
Sie können die Muster nach Wahl des autocmnd verwenden.
autocmd InsertLeave *.tex w