默认情况下,Vim以“ modula2”代码打开所有.md文件。我从未听说过modula2,也不打算使用它。

我如何告诉vim始终将foo.md视为Markdown(就像我键入了:set ft=markdown一样)?

评论

这是什么情况?我目前正在运行Archlinux,而.md被视为markdown

@Neikos这是在Ubuntu 14.04上。

在fedora上,我也可以正确获取.md文件的markdown语法

已经在SO上得到回答。您可能会在这里找到更多不同的信息。

仅供参考,从Vim 7.4.480开始,默认情况下* .md文件被识别为Markdown而不是modula2。

#1 楼

在您的发行版随附的文件filetype.vim中,您会找到一条可能与此类似的行(在我的计算机上,该行位于/usr/share/vim/vim74):如果文件有这样的结尾,这会告诉vim将文件类型设置为modula2。

au BufNewFile,BufRead *.md,*.m2,*.mi setf modula2


编辑:

我以前有.vimrc作为要调用的函数,但它似乎是setf文件的保留函数。 。

#2 楼

我目前在我的.vimrc中将此行作为丑陋的hack:

autocmd BufRead *.md set ft=markdown


我仍然想知道是否还有更好的方法。

评论


这在fedora中不起作用,似乎/usr/share/vim/vim74/filetype.vim定义将覆盖此设置

– Guido
15年2月4日在1:01

@guido,我想知道这是否取决于何时启用文件类型检测?如果在文件类型之后添加该autocmd(带有或不带有plugin / indent标志),我猜结果会更好。没有测试,只是猜测。

–tommcdo
2015年2月6日的15:00