我在python源代码中广泛使用多行文档字符串来包含doctests。不幸的是,vim / gvim似乎很难用语法高亮显示,偶尔丢失它的位置并忘记它位于字符串文字的中间,并突出显示从字符串到源和源到字符串“翻转”。
我可以向上滚动到顶部并再次向下滚动,而vim 通常会修复问题,但有时需要几次尝试。
除了让我的文档更短,有没有办法帮助vim按顺序保持对这些长文字的突出显示?
答案 0 :(得分:18)
:syntax syn
控制Vim如何同步应该应用于文本中特定点的语法状态(:help syn-sync
)。要获得最准确的同步(但这会降低vim的速度),请尝试:
autocmd BufEnter * :syntax sync fromstart
或者,如果您想在每次发现错误时手动同步,请尝试此命令(您可以将其映射到键盘快捷键):
:syntax sync fromstart
您可能还会发现minlines
有用。来自:help syn-sync
如果给出“minlines = {N}”参数,则解析始终至少开始 很多线都倒退了。如果解析可能需要一些,则可以使用此方法 在它正确之前,或者当不可能使用同步时。
所以把它放在你的.vimrc中可能对你有所帮助:
syntax sync minlines=500
编辑:找到此页面,其中包含您需要的一切: http://vim.wikia.com/wiki/Fix_syntax_highlighting
答案 1 :(得分:2)
您可能不希望从正在编辑的所有类型的代码启动同步,只是html。如果是这种情况,请将其添加到您的vimrc:
autocmd FileType html autocmd BufEnter * :syntax sync fromstart