我在我的vim会话中有两个缓冲区,并在我的vimrc中设置了语法高亮。我使用minibufexpl来管理缓冲区。当我使用:q退出当前缓冲区时,另一个缓冲区会自动关闭语法高亮,我必须手动使用:set syntax=on打开语法高亮。有没有人能给我一个解决方案,让一个缓冲区退出后不自动关闭语法高亮呢?谢谢!(我尝试过使用:bd而不是:q退出缓冲区,有时它会保持语法高亮,但有时不会。)
let g:miniBufExplForceSyntaxEnable = 1
看起来是vim中的一个bug引起的。详细信息请参考minibufexpl版本6.3.1的发布说明
请注意,这适用于:bd,但不适用于:q
set hidden
也许你应该将这行代码加入到gvimrc
文件中:
autocmd BufDelete * syntax on
插件出现了问题。
关闭缓冲区(失去语法高亮)后,可以通过以下方式进行调查:
:verbose set syntax?
这将显示类似于
syntax=cpp
Last set from C:\Program Files\Vim\vim73\syntax\syntax.vim
您可能也能够看到哪里出错了
:debug quit
:set syntax=on
会强制使用syntax/on.vim
脚本对当前缓冲区进行语法高亮,但不会启用语法高亮。 - ZyX