Vim的Markdown语法高亮非常有缺陷

14

我不确定我使用的是哪个markdown插件,但它在解析README.md文件时效果并不好。

以下是一个可视化说明:enter image description here

我不知道为什么它会在下划线后面突出显示所有内容,通常高亮表示斜体字。这种工作方式并不令人愉快。顺便说一句,我已经发布了确切的代码来证明在下划线后没有实际斜体。

payment_address
POST
  currency      string      ex: "BTC"
  amount        int         ex: 100000
 *timeout       int         ex: 600
 *callback      JSON object
    method      string      ex: "HTTP_POST", "BLOCKCHAIN_WRITE"

    params      JSON object
      HTTP_POST PARAMS:
      url       string      ex: "http://florincoin.info/mucua/callback/
      data      string      ex: see below

支付地址API目前是最重要的。

注意:stackoverflow.com并没有将#### payment_address变成H3,但也没有将_address部分变成斜体。

  • 这是vim的错误还是我做错了什么?
  • 我该如何找出我正在使用哪个vim插件以便提交bug报告/修复的pull request?

1
这不是离题,Vim是一种常见的开发者工具,用于编辑源代码,因此它在这里是“恰当的话题”。 - user456814
1
find ~/.vim/ | grep markdown 这个命令对你有用吗? - Ryne Everett
1
要调试这种问题,请从 vim -u NONE a.md 开始,并在您的插件上进行二分查找。我有一个仓库可以帮助您完成此操作:https://github.com/cirosantilli/vundle-plugin-tester - Ciro Santilli OurBigBook.com
3个回答

13

这是因为在markdown中下划线代表斜体,这就是Vim所显示的。Vim以一种奇怪的方式呈现斜体。

你所期望的是Github扩展

你可以安装此插件来启用Github Flavored Markdown着色。


我想指出我的vimrc文件中有一行代码会影响vim-markdown的使用:autocmd BufNewFile,BufRead *.md set filetype=markdown - Joey
1
我在我的vimrc文件中也有同样的那一行,而且我也遇到了类似的问题。但是,我不认为这是因为那一行引起的。它只是设置文件类型而已。语法高亮存在缺陷。 - Durga Swaroop

5
这不是您语法高亮问题的确切解决方案,而是一种调试VIM问题的可靠方法。请不要将其标记为您问题的解决方案。
我会手动浏览您的~/.vim/bundles/文件夹,并逐个移动每个插件,直到找到罪魁祸首。从可能引起问题的插件开始,然后继续进行。例如,vim-markdownwap-it(我的VIM插件;))更可能导致这些问题。
如果在移动所有插件后仍未找到罪魁祸首,则应确保您正在运行最新版本的VIM。如果那也不起作用,我个人会尝试重新安装,但我对VIM的内部结构并不是很熟悉。
希望这可以帮到您,

显然,我唯一使用的插件是vim-go,而移除vim-go并没有解决问题。我甚至使用pathogen安装了vim-markdown,但问题仍然存在。.vimrc中涉及语法的唯一事情是if has("syntax") syntax on endif - Joey
相对于Bundler而言比较特定。 - Don Reba
我无法在当前的vim-markdown主分支上重现此错误。如果您发现了什么问题,请提交一个问题;-) - Ciro Santilli OurBigBook.com

4
我找到的解决方案是在我的markdown代码中转义下划线。对于github来说,无论下划线是否被转义都没有影响,但我认为为了兼容性,最好还是要转义它们(这也解决了在vim中文本错误高亮的问题)。 更新:当在代码块中转义下划线时,此解决方案不起作用。以下是一个例子:
Markdown 代码:
`HELLO\_WORLD`

输出:

HELLO\_WORLD


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接