我在我的
python源代码中广泛使用多行docstrings来包含doctests.不幸的是,vim / gvim似乎很难与语法高亮,偶尔会丢失它的位置,并忘记它在一个字符串文字的中间,突出显示“从头到尾”和“转换为字符串”.
我可以向上滚动到顶部并再次下降,而vim通常会解决问题,但有时需要几次尝试.
:Syntax syn控制Vim如何同步文本中特定点应用的语法状态(:help syn-sync).为了最准确的同步(但这会减慢vim),请尝试:
autocmd BufEnter * :Syntax sync fromstart
或者如果您想要手动同步,只要您注意到错误,请尝试此命令(您可以将其映射到键盘快捷方式):
:Syntax sync fromstart
你也可能会发现minlines有用.来自:help syn-sync
If the “minlines={N}” argument is given,the parsing always starts at least
that many lines backwards. This can be used if the parsing may take a few
lines before it’s correct,or when it’s not possible to use syncing.
所以把它放在你的.vimrc中可能会帮助你:
Syntax sync minlines=500
编辑:发现这个页面,它有你需要的一切:
http://vim.wikia.com/wiki/Fix_syntax_highlighting