我想根据 vim
中的文件扩展名更改文件类型。
我的 .vimrc
中有以下代码
autocmd BufNew,BufNewFile,BufRead *.txt,*.text,*.md,*.markdown setlocal ft=markdown
但是当我打开一个扩展名为
.md
文件的文件时,文件类型没有改变。我运行 :set ft
命令,它将输出显示为 filetype=modula2
。我做错了什么吗?
编辑:
我通过重命名旧的
.vimrc
文件开始调试,并仅用这一行创建了一个新文件。它工作正常。然后我替换了旧的 .vimrc
文件,一切似乎都正常。猜猜这是因为我正在使用的某些插件中存在一些问题。但是接受 ZyX 的回答,因为它认为我是另一种方式来做到这一点。
最佳答案
想知道这条线是在 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'
路径之前(默认情况下)。
关于vim - 在vim中根据文件扩展名更改文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12767024/