我在gvim中突出显示语法有问题。 我的vimrc文件中有以下命令:
autocmd BufNewFile,BufRead *.v,*.vs,*.va set syntax=verilog
但是,如果我在gvim中读取文件-“ a.txt”并且拆分时也打开了“ b.txt”,则当我单击b然后返回到a时,语法高亮显示将消失点击。 有人试图向我解释autocmd并非总是运行。 任何想法
答案 0 :(得分:1)
BufRead
选项仅在将文件读取到 new 缓冲区中时适用,因此,仅在拆分之间切换不会触发auto命令是有意义的。该文件已被读入缓冲区;除非您关闭并重新打开它,否则不会再次读取它。
您需要选项BufEnter
,因为它会在输入缓冲区时触发。您的新命令应如下所示:
autocmd BufNewFile,BufRead,BufEnter *.v,*.vs,*.va set syntax=verilog
请注意,使用filetype
代替syntax
可能更好,因为syntax
不会影响缩进规则(如果有的话)。甚至更好的是,使用插件可以自动设置所有内容,而无需在.vimrc
中使用显式自动命令。只需从快速的Google那里,this plugin就会弹出一堆。