我最近升级到 gvim 7.3,很高兴发现 markdown 突出显示。我还注意到它将“内部” _
(下划线)视为标记。例如:
我希望 gvim 在这里显示重点
但不是_这里
gvim 实际上将我示例中的最后一行显示为 'but not_ here '。看起来 SO 的降价解释更接近我想要的。
我并不是说 gvim 是“错误的”,因为我不知道正确的降价实现是什么。但是,有没有办法配置它,如果标记被非空白包围,它们应该被视为普通文本?
运行时文件(特别是如果您使用 vim.org 上的旧版 Vim 7.3.000 / 046 安装程序)不会经常更新。大多数插件作者在其他地方发布了更新的版本,它们只是偶尔被 Vim 采纳。
在Tim Pope 的存储库~/.vim
中,您会发现没有显示问题的较新版本(您可以将其安装到您的目录中);相反,它甚至将单个下划线字符突出显示为错误。
我找到了一个解决方案,它适用于我迄今为止测试过的东西。
将%vim%/syntax/markdown.vim
文件复制到%/.vim/syntax/markdown.vim
并将第 63 行更改为:
syn region markdownItalic start="\s_\S\@=" end="\S\@<=_\|_\S\@=" keepend contains=markdownLineStart
重新启动 vim,它应该匹配*this*
and _this_
but not_this
。
编辑:更改信息,感谢@ZyX
在 Markdown 文件中记录代码时,我遇到了这些问题。
我使用的解决方案是将有问题的部分放在一个有四个空格的代码块中,或者放在一个带有反引号 (`) 的代码跨度中。
尝试使用 Github 风味降价:https ://github.com/jtratner/vim-flavored-markdown