Domanda

ho bisogno di fare i due eventi autocmd logici e di in vim. Fondamentalmente, il comando deve funzionare su un InsertLeave quando il FileType è tex. Sembra che questo dovrebbe funzionare (in un Vimrc):

autocmd FileType tex :autocmd InsertLeave :w

Ma non è così. L'opzione nidificato non sembra aiutare entrambi, anche se il manuale indica che dovrebbe.

La sua facile per fare un logico-O:

autocmd BufEnter,BufLeave ...

non deve essere troppo difficile da fare un logico-E.

È stato utile?

Soluzione

Ho una correzione a @Eevee risposta: per far funzionare autocomando per un solo tampone, è necessario utilizzare

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

, vedere `:. H autocmd-buflocal

Altri suggerimenti

InsertLeave ha ancora bisogno di un parametro.

Questo funziona per me:

autocmd FileType tex :autocmd InsertLeave * :w

Si noti che questo comportamento rimarrà se in seguito si modifica un file non tex nello stesso tampone. Non sono sicuro se c'è un modo semplice per rimuoverlo quando si modifica qualcosa di ma di un certo tipo di file.

È possibile utilizzare l'opzione modello del autocmnd.

autocmd InsertLeave *.tex w
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top