题
我需要做的逻辑和两个自动命令事件在vim。基本上,该命令具有对一个InsertLeave运行时的文件类型为TEX。看起来这应该工作(在的.vimrc):
autocmd FileType tex :autocmd InsertLeave :w
但是事实并非如此。嵌套选项似乎没有任何帮助,即使手动表明它应该。
它容易做到的逻辑-OR:
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
不隶属于 StackOverflow