我需要在vim中对两个autocmd事件进行逻辑与运算。基本上,当FileType为tex时,该命令必须在InsertLeave上运行。看起来这应该可以工作(在.vimrc中):
autocmd FileType tex :autocmd InsertLeave :w但事实并非如此。嵌套选项似乎也无济于事,尽管手册上指出应该这样做。
做逻辑或很容易:
autocmd BufEnter,BufLeave ...做逻辑与不能太难。
发布于 2011-03-11 03:13:02
我对@Eevee答案有一个更正:要使自动命令只对一个缓冲区起作用,您应该使用
augroup TexAutoWrite
autocmd FileType tex :autocmd! TexAutoWrite InsertLeave <buffer> :update
augroup END参见`:h autocmd-buflocal。
发布于 2009-08-21 17:27:59
InsertLeave仍然需要一个参数。
这对我来说很有效:
autocmd FileType tex :autocmd InsertLeave * :w请注意,如果稍后在同一缓冲区中编辑非tex文件,则此行为将保持不变。我不确定是否有一种简单的方法可以在编辑特定类型的文件时删除它。
发布于 2011-03-11 01:46:06
可以使用autocmnd的pattern选项。
autocmd InsertLeave *.tex whttps://stackoverflow.com/questions/1313171
复制相似问题