Vim 可以正确高亮显示.markdown
文件,但它似乎不熟悉.md
文件类型。在问题https://stackoverflow.com/questions/10964681似乎暗示这.md
是错误的 markdown 文件扩展名。我有点困惑。
扩展名错误吗.md
?如果不是,为什么 Vim 没有突出显示其语法?
Vim 版本: 7.4
答案1
分析
在 中$VIMRUNTIME/filetype.vim
,你会发现这个:
" Markdown
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,README.md setf markdown
因此,只有README.md
被检测为 Markdown。在搜索以下文件时,可以找到一个原因*.md
" Modula 2
au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.md,*.mi setf modula2
解释
不同于MIME 类型(如果存在注册表),文件扩展名不标准化,并且(尤其是短文件)多个可能的含义重叠。由您决定如何处理它们。如果更有可能意味着foo.md
Markdown 文件而不是 Modula 2 源代码,只需覆盖 Vim 的默认设置,例如通过
au BufNewFile,BufRead *.md setf markdown
中~/.vim/ftdetect/markdown.vim
,或如 中所述:help new-filetype
。
答案2
这
autocmd BufRead,BufNew *.md setf markdown
在 vim 7.4 上对我来说不起作用,所以我不得不使用“旧”的传统方式来设置文件类型:
autocmd BufRead,BufNew *.md set filetype=markdown
这会*.md
正确突出显示文件。
答案3
将这些行添加到您的~/.vimrc
:
augroup markdown
" remove previous autocmds
autocmd!
" set every new or read *.md buffer to use the markdown filetype
autocmd BufRead,BufNew *.md setf markdown
augroup END
答案4
尝试以 .markdown 结尾文件 - 它可能很长,但对我来说很有效。