我在MacBook Air的终端上使用Vim和OS X Lion,我似乎无法找到一个很好的插件来进行Markdown语法高亮显示。
到目前为止,我已尝试使用plasticboy插件和Tim Pope's plugin。 plasticboy插件工作正常,但导致行尾的空白区域突出显示,我还没弄明白如何关闭它。 (这真的很烦人,因为每当我写作space
时,我都会突出显示角色。)
###
的标题之外,Tim的插件在突出显示方面似乎没有做太多。代码块和项目符号将被忽略。我可能会遗漏那些东西。我确实在我的Markdown文件上使用了.md
扩展名,因此应该选择文件类型。
我也看到过Vim 7.3的引用,内置了Markdown支持,但如果没有这两个插件中的任何一个,我根本就没有任何突出显示。
这些都需要特定的配色方案吗?
答案 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
中的以下行为vim
和gvim
产生最佳结果:
autocmd BufNewFile,BufFilePre,BufRead *.md set filetype=markdown.pandoc
说明:
如果您主要使用一种Markdown(例如Pandoc),请务必提及此内容!这样做,允许混合和匹配Markdown和Pandoc特定的Vim插件。例如:我发现vim-pandoc-syntax插件特别适合我的突出显示需求。尽管如此,我使用更一般的vim-markdown-folding进行Markdown折叠。
顺便说一下,只允许一种味道,用点分隔,例如:filetype=markdown.pandoc
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