4

我想根据vim.

我的代码中有以下代码.vimrc

autocmd BufNew,BufNewFile,BufRead *.txt,*.text,*.md,*.markdown setlocal ft=markdown

但是当我用扩展.md文件打开一个文件时,文件类型没有改变。我运行:set ft命令,它显示输出为filetype=modula2.

我做错什么了吗?

编辑:

我开始通过重命名旧.vimrc文件进行调试,并仅用这一行创建了一个新文件。它工作正常。然后我替换了我的旧.vimrc文件,一切似乎都工作正常。猜猜这是因为我正在使用的某个插件中的一些问题。

但接受 ZyX 的回答,因为它认为我是另一种方式来做到这一点。

4

3 回答 3

9

~/vim/ftdetect/markdown.vim用这一行创建了一个文件

autocmd BufNewFile,BufRead *.md,*.mkdn,*.markdown :set filetype=markdown

阅读文件类型的文档,setfiletype仅在未设置文件类型时设置。因此,您需要set用于无条件更改文件类型。

于 2013-04-18T09:53:59.317 回答
3

想知道这条线是在之前还是之后filetype … on。在前一种情况下,您应该尝试将它(您的自动命令)放在此行之后。如果您将其放入~/.vim/ftdetect/markdown.vim并使用setfiletype markdown而不是setlocal ft=markdown

augroup filetypedetect
    autocmd BufNew,BufNewFile,BufRead *.txt,*.text,*.md,*.markdown :setfiletype markdown
augroup END

: 这是做这些事情的默认方式。~/.vim在这种情况下,必须/usr/share/vim/*在选项中的路径之前'runtimepath'(默认情况下)。

于 2012-10-07T12:15:29.467 回答
1

通过在 Vim\vim74\syntax 目录中创建目标语法文件的重命名副本,我能够获得备用文件扩展名的语法突出显示。

要使 *.md 作为 .markdown 打开:

复制 markdown.vim md.vim

或将 markdown.vim 的副本粘贴到语法文件夹,然后将副本重命名为 md.vim。

(在win7上运行vim74)

于 2016-02-08T21:20:58.203 回答