143

我在装有 OS X Lion 的 MacBook Air 上的终端中使用 Vim,但我似乎找不到用于 Markdown 语法突出显示的好插件。

到目前为止,我已经尝试过plasticboy插件和Tim Pope 的插件。塑料男孩插件工作正常,但导致行尾的空白被突出显示,我还没有弄清楚如何关闭它。(这真的很烦人,因为每次space我在写作时都会突出显示角色。)

除了可能使用###. 代码块和项目符号被忽略。我可能会在那里遗漏一些东西。我确实.md在我的 Markdown 文件上使用了扩展名,所以它应该选择文件类型。

我还看到了对内置 Markdown 支持的 Vim 7.3 的引用,但是如果没有这两个插件中的一个,我根本没有任何突出显示。

这些中的任何一个都需要特定的配色方案才能工作吗?

4

5 回答 5

313

关于 markdown 的本机语法高亮,我认为它仅适用于.markdown默认具有扩展名的文件。
我的.md文件的降价语法突出显示有问题。
我试过了:

:set syntax=markdown

它奏效了。所以我在我的中加入了以下行.vimrc

au BufNewFile,BufFilePre,BufRead *.md set filetype=markdown

现在我的 vim 有我的.md文件的语法高亮。

:sav 需要BufFilePre

于 2013-02-08T18:28:26.187 回答
22

这应该可以在使用 plasticboy mkd 插件时禁用行尾空格突出显示:

:syn clear mkdLineBreak

您可以autocmd为必要的文件扩展名这样做,这样您就不必每次加载降价文件时都这样做。

请注意,之所以存在此特定突出显示,是因为 Markdown 通过插入 a 来特别处理以 2 个或更多空格字符结尾的行<br>,因此它很有用。

Plasticboy 插件TODO为此规则使用突出显示,这有点过分了,因为它的设计默认是非常花哨的 - 黄色背景 - 以便它脱颖而出。您可以通过更改该highlight规则来降低视觉冲击力。一种快速的方法是:

:hi link mkdLineBreak Underlined

现在这些行尾空格将显示为下划线。尝试链接到其他highlight组以获取可能更吸引您的内容。除了使用link您还可以更具体地了解这些行尾空格:例如,您可以使用您自己的highlight命令指定自定义ctermfgctermbgguifg来指定它们显示为比正常背景稍微亮/暗, guibg设置。

如上所述,您可以autocmd应用您的特定设置。

有关链接highlight组的更多信息,请键入::help group-name,您将看到可以链接的组列表,这些组本身应该使用当前highlight规则进行显示。还有::help highlight

于 2012-06-09T21:51:35.113 回答
21

原生语法高亮

Markdown 的本机语法突出显示默认情况下仅适用于.markdown文件扩展名。

以下行对和.vimrc均产生最佳结果:vimgvim

autocmd BufNewFile,BufFilePre,BufRead *.md set filetype=markdown.pandoc

解释:

1. 指定你的 Markdown 风格!

如果您主要使用一种 Markdown 风格(例如Pandoc),请务必同时提及这一点!这样做,允许混合和匹配 Markdown 和 Pandoc 特定的 Vim 插件。例如:我发现vim-pandoc-syntax插件特别适合我的高亮需求。不过,我使用更通用的vim-markdown-folding进行 Markdown 折叠。

顺便说一句,只允许一种口味,用点分隔,例如:filetype=markdown.pandoc

2.gvim要求BufFilePre

gvim需要BufFilePre在自动命令行中使用该命令进行 Markdown 文件类型识别的附加功能Save As… :sav

于 2015-05-08T00:23:52.280 回答
15

Tim 的插件中,.md扩展名仅适用于README.md ,因为filetype.vim指定了。

" Markdown
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,README.md  setf markdown
于 2013-02-02T20:45:46.073 回答
7

如果您不喜欢将所有配置放入 中,您可以使用以下内容~/.vimrc创建(或 Windows 上的等效项)。~/.vim/ftdetect/markdown.md

au BufNewFile,BufRead *.md setf markdown

于 2014-05-05T08:42:07.480 回答