在Vim中启用markdown高亮显示

hec6srdp  于 2023-10-20  发布在  其他
关注(0)|答案(6)|浏览(158)

我在我的MacBook Air上的一个终端上使用Vim,我似乎找不到一个好的Markdown语法突出显示插件。
到目前为止,我已经尝试了plasticboy插件和Tim Pope's plugin。plasticboy插件工作正常,但导致行末的白色空间被突出显示,我还没有想出如何关闭它。(这真的很烦人,因为每次我在写的时候点击space,它都会突出显示这个角色。
蒂姆的插件似乎没有做太多的方式突出显示,除了可能使用###的头。代码块和项目符号将被忽略。我可能漏掉了什么。我确实在我的Markdown文件上使用了.md扩展名,所以它应该会选择文件类型。
我还看到了一个关于Vim 7.3内置了Markdown支持的参考,但是没有这两个插件中的一个,我根本没有得到任何突出显示。
这两种颜色都需要特定的配色方案才能起作用吗?

a8jjtwal

a8jjtwal1#

关于markdown的原生语法高亮,我认为它默认只适用于扩展名为.markdown的文件。
我在.md文件的markdown语法高亮显示中遇到了问题。
我试过:

:set syntax=markdown

和它的工作.因此,我在.vimrc中包含了以下行:

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

现在我的Vim有我的.md文件的语法突出显示。
BufFilePre是needed for :sav

kxeu7u2r

kxeu7u2r2#

原生语法高亮

默认情况下,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文件类型。

41ik7eoe

41ik7eoe3#

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

:syn clear mkdLineBreak

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

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

plasticboy插件使用TODO突出显示这个规则,这有点太多了,因为它的设计,默认情况下,是非常花哨的-黄色背景-所以它脱颖而出。您可以通过更改highlight规则来使其在视觉上不那么引人注目。一个快速的方法来做到这一点将是这样的:

:hi link mkdLineBreak Underlined

现在那些行尾空格将显示为下划线。尝试链接到其他highlight组的东西,可能会吸引你更多。不使用link,你可以更具体地了解这些行尾空格:例如,您可以指定它们显示为比正常背景略亮/略暗,使用您自己的highlight命令,指定自定义 * ctermbg *,ctermbgguifgguibg 设置。
如上所述,您可以autocmd此应用您的特定设置。
有关链接highlight组的详细信息,请键入以下内容::help group-name,您将看到一个可以链接的组列表,这些组本身应该使用其当前的highlight规则显示。:help highlight

xqkwcwgp

xqkwcwgp4#

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

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

ivqmmu1c5#

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

knpiaxh1

knpiaxh16#

不知道这是最近的,但在我的.vimrc中,这是原生的,根据herehttps://github.com/tpope/vim-markdown

syntax on
filetype plugin indent on
let g:markdown_fenced_languages = ['html', 'python', 'bash=sh']

在macOS Monterey上使用与brew install macvim一起安装的Vim

vim --version|head -5
VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Feb 07 2023 11:35:56)
macOS version - x86_64
Included patches: 1-1276
Compiled by Homebrew
Huge version with MacVim GUI.  Features included (+) or not (-):

相关问题