我需要在vim中对两个autocmd事件执行逻辑与操作。基本上,在FileType为tex时,该命令必须在InsertLeave上运行。这似乎应该可以在.vimrc文件中实现:
autocmd FileType tex :autocmd InsertLeave :w
但它并没有起到作用。即使手册中指示应该这样做,嵌套选项似乎也没有帮助。
很容易进行逻辑或操作:
autocmd BufEnter,BufLeave ...
做逻辑与操作不应该太难。
我需要在vim中对两个autocmd事件执行逻辑与操作。基本上,在FileType为tex时,该命令必须在InsertLeave上运行。这似乎应该可以在.vimrc文件中实现:
autocmd FileType tex :autocmd InsertLeave :w
autocmd BufEnter,BufLeave ...
做逻辑与操作不应该太难。
我对@Eevee的回答有一个更正:要使自动命令只对一个缓冲区起作用,你应该使用以下方法:
augroup TexAutoWrite
autocmd FileType tex :autocmd! TexAutoWrite InsertLeave <buffer> :update
augroup END
autocmd InsertLeave *.tex w
InsertLeave仍需要一个参数。
这对我有效:
autocmd FileType tex :autocmd InsertLeave * :w
tex
文件,则此行为将保留。我不确定是否有一种简单的方法来删除它,除非编辑某种类型的文件。au FileType go au VimLeave * call system("killall gocode")
- Meow