Sud*_*dar 2 vim vim-syntax-highlighting
我想根据文件扩展名更改文件类型vim.
我在我的代码中有以下代码 .vimrc
autocmd BufNew,BufNewFile,BufRead *.txt,*.text,*.md,*.markdown setlocal ft=markdown
Run Code Online (Sandbox Code Playgroud)
但是当我使用扩展.md文件打开文件时,文件类型不会更改.我运行:set ft命令,它显示输出为filetype=modula2.
我做错了吗?
编辑:
我开始通过重命名我的旧.vimrc文件进行调试,并用这一行创建了一个新文件.它运作正常.然后我替换了我的旧.vimrc文件,一切似乎都运行正常.猜猜是因为我正在使用的一些插件中的一些问题.
但接受ZyX的答案,因为它认为我是另一种方法.
我~/vim/ftdetect/markdown.vim用这一行创建了一个文件
autocmd BufNewFile,BufRead *.md,*.mkdn,*.markdown :set filetype=markdown
Run Code Online (Sandbox Code Playgroud)
读取文件类型的文档,setfiletype仅设置是否取消设置文件类型.因此,您需要使用set无条件更改文件类型.
想知道这条线是在 之前还是之后filetype \xe2\x80\xa6 on。在前一种情况下,您应该尝试将其(您的自动命令)放在该行之后。如果你把它放入~/.vim/ftdetect/markdown.vim并使用setfiletype markdown而不是setlocal ft=markdown:
augroup filetypedetect\n autocmd BufNew,BufNewFile,BufRead *.txt,*.text,*.md,*.markdown :setfiletype markdown\naugroup END\nRun Code Online (Sandbox Code Playgroud)\n\n:这是执行此类操作的默认方式。~/.vim在这种情况下,必须位于选项/usr/share/vim/*中的路径之前'runtimepath'(默认情况下)。