我需要做的逻辑和两个自动命令事件在vim。 基本上,该命令具有对一个InsertLeave运行时的文件类型为TEX。 看起来这应该工作(在.vimrc里):
autocmd FileType tex :autocmd InsertLeave :w
但事实并非如此。 嵌套选项似乎没有任何帮助,即使手动表明它应该。
它很容易做逻辑或:
autocmd BufEnter,BufLeave ...
它不能是太难做了逻辑与。
我需要做的逻辑和两个自动命令事件在vim。 基本上,该命令具有对一个InsertLeave运行时的文件类型为TEX。 看起来这应该工作(在.vimrc里):
autocmd FileType tex :autocmd InsertLeave :w
但事实并非如此。 嵌套选项似乎没有任何帮助,即使手动表明它应该。
它很容易做逻辑或:
autocmd BufEnter,BufLeave ...
它不能是太难做了逻辑与。
我有一个校正@Eevee答案:使自动命令的工作只有一个缓冲区,你应该使用
augroup TexAutoWrite
autocmd FileType tex :autocmd! TexAutoWrite InsertLeave <buffer> :update
augroup END
见`:H自动命令,buflocal。
InsertLeave仍然需要一个参数。
这对我的作品:
autocmd FileType tex :autocmd InsertLeave * :w
请注意,这种行为将继续,如果你以后编辑非tex
在同一个缓冲文件。 我不知道是否有一个简单的方法编辑任何东西,但某种类型的文件时将其删除。
您可以使用autocmnd的模式选择。
autocmd InsertLeave *.tex w