在Vim中启用降价突出显示

时间:2012-06-09 21:22:14

标签: vim markdown

我在MacBook Air的终端上使用Vim和OS X Lion,我似乎无法找到一个很好的插件来进行Markdown语法高亮显示。

到目前为止,我已尝试使用plasticboy插件和Tim Pope's plugin。 plasticboy插件工作正常,但导致行尾的空白区域突出显示,我还没弄明白如何关闭它。 (这真的很烦人,因为每当我写作space时,我都会突出显示角色。)

除了使用###的标题之外,Tim的插件在突出显示方面似乎没有做太多。代码块和项目符号将被忽略。我可能会遗漏那些东西。我确实在我的Markdown文件上使用了.md扩展名,因此应该选择文件类型。

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

这些都需要特定的配色方案吗?

5 个答案:

答案 0 :(得分:296)

关于markdown的原生语法高亮显示我认为它仅适用于默认情况下扩展名为.markdown的文件。
我的.md文件的markdown语法高亮显示有问题 我试过了:

:set syntax=markdown

它有效。 所以我在.vimrc中包含了以下一行:

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

现在我的vim已经为我的.md文件突出了语法。

BufFilePre是needed for :sav

答案 1 :(得分:21)

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

:syn clear mkdLineBreak

您可以autocmd获取必要的文件扩展名,这样每次加载markdown文件时都不需要这样做。

注意这个特定的高亮显示是因为Markdown特别是通过插入<br>来处理以2个或更多空格字符结尾的行,所以它很有用。

塑料插件使用TODO突出显示此规则, 有点太多,因为默认情况下,它设计为真正的花哨 - 黄色背景 - 以便它突出。您可以通过更改highlight规则来降低视觉效果。一个快速的方法是这样的:

:hi link mkdLineBreak Underlined

现在这些行尾空格将显示为带下划线的。尝试链接到其他highlight群组,以获取更多可能对您有吸引力的内容。而不是使用link,您可以更加具体地了解这些行尾空格:例如,您可以指定它们显示为比正常背景稍微更亮/更暗,使用您自己的{{1} }命令,指定自定义 ctermfg ctermbg guifg guibg 设置。

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

有关链接autocmd组的详细信息,请键入:highlight,您将看到可以链接的组列表,这些组本身应使用其当前:help group-name规则进行帮助。另外:highlight

答案 2 :(得分:18)

原生语法高亮显示

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,以使用Save As… :sav命令识别Markdown文件类型。

答案 3 :(得分:15)

Tim's plugin .md 扩展程序仅适用于 README.md ,因为 filetype.vim 指定了这一点。

" Markdown
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,README.md  setf markdown

答案 4 :(得分:7)

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

au BufNewFile,BufRead *.md setf markdown