如何使Vim理解* .md文件包含Markdown代码,而不包含Modula-2代码?

苏珊·帕尔(Susam Pal)

当我在Vim中编辑包含Markdown代码的README.md并执行:set filetype?命令时,我看到了filetype=markdownMarkdown语法正确突出显示。

但是,当我在Vim中编辑包含Markdown代码的foo.md并执行:set filetype?命令时,我看到了filetype=modula2Markdown语法未正确突出显示。

我应该在〜/ .vimrc中添加些什么,以使Vim理解foo.md或任何扩展名为.md的文件是markdown文件而不是modula2文件?

苏珊·帕尔(Susam Pal)

问题原因

为了了解哪个脚本正在设置此文件类型,我在编辑foo.md之后执行了以下命令。

:verbose set filetype?

我发现以下输出。

  filetype=modula2
        Last set from /usr/share/vim/vim74/filetype.vim

在/usr/share/vim/vim74/filetype.vim中,发现以下几行。

au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,README.md  setf markdown
au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.md,*.mi setf modula2

这些行显示,当编辑README.md时,文件类型设置为,markdown但是在编辑扩展名为.md的其他文件时,文件类型设置为modula2换句话说,*。md文件被识别为Modula-2源代码,但是README.md被识别为Markdown代码,这是一个例外,这可能是由于README.md文件在GitHub上越来越流行。

set filetype=markdown对于所有.md文件,将以下语句添加到〜/ .vimrc中

autocmd BufNewFile,BufRead *.md set filetype=markdown

该声明说,开始编辑开始时,编辑一个新的缓冲区并把文件读入缓冲区后,如果该文件的模式匹配,不存在或一个新的文件时,*.md然后set filetype=markdown

更新资料

在我现在拥有的Vim的更新版本中,我发现此问题不再存在。

$ vim --version | head -n 2
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Mar 31 2015 23:36:07)
Included patches: 1-488, 576
$ grep -E "markdown|modula2" /usr/share/vim/vim74/filetype.vim 
au BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md  setf markdown
au BufNewFile,BufRead *.m2,*.DEF,*.MOD,*.mi     setf modula2

ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.860上的补丁似乎已进行了此更改。但是,对于在补丁860中似乎可用的这些更改如何在我的Vim版本(仅包括补丁1-448、576)中可用的情况感到有些困惑。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用HTTP 412代码

来自分类Dev

如何更改发布请求以最少的Struts2代码更改获得重定向?

来自分类Dev

以下以下SSE2代码如何读取数据

来自分类Dev

如何强制重新加载$(“#widget”)。load(“ widget URL”)的JSF2代码

来自分类Dev

如何使用301代码q2a更改url结构

来自分类Dev

Sublime Text 2代码提示

来自分类Dev

如何从ISO 3166代码中找到ISD代码?

来自分类Dev

如何从此python 3代码获取最大的文件?

来自分类Dev

如何编写单源兼容的Python 2/3代码以从内存字符串写入文本文件

来自分类Dev

警告在将Tensorflow 1代码升级到Tensorflow 2代码期间

来自分类Dev

如何使此简单的fortran 90代码更快?

来自分类Dev

如何配置ES6代码检查

来自分类Dev

如何使用基于表的CRC-16代码?

来自分类Dev

以下C ++ 11代码应如何工作?

来自分类Dev

如何禁用webpack 4代码拆分?

来自分类Dev

如何读写Rebol结构的数据文件(不包含代码)?

来自分类Dev

VIM为什么显示Unicode代码点而不显示UTF-8代码值?

来自分类Dev

使用“旧的” ggplot2代码

来自分类Dev

Sublime Text 2运行C ++ 11代码

来自分类Dev

国家名称符合ISO 3166-2代码

来自分类Dev

移植使用_multiprocessing的Python 2代码

来自分类Dev

WildFly和旧的EJB2代码

来自分类Dev

使用JSF 2输出HTML5代码

来自分类Dev

SHA-2代码签名问题

来自分类Dev

将Swift 2代码转换为Swift 3

来自分类Dev

Angular 2代码用于多个过滤器

来自分类Dev

Maxmind 的 GeoLite2 大陆代码

来自分类Dev

在python 2代码中未收到返回消息

来自分类Dev

如何在代码后面添加来自asp.net的h3代码?