在vim中,为什么autocmd setfiletype命令不起作用?
在我的.vimrc中,我添加了这个在vim中,为什么autocmd setfiletype命令不起作用?,vim,Vim,在我的.vimrc中,我添加了这个 autocmd BufNewFile,BufRead *.markdown setfiletype octopress 但它似乎不起作用,因为在我打开xxx.markdown文件并输入命令setfiletype-octopress之后,一切都正常 这是我的原封不动 set nocompatible syntax on filetype off colorscheme desert set nu set mouse=a set rtp+=~/.vim/bund
autocmd BufNewFile,BufRead *.markdown setfiletype octopress
但它似乎不起作用,因为在我打开xxx.markdown文件并输入命令setfiletype-octopress
之后,一切都正常
这是我的原封不动
set nocompatible
syntax on
filetype off
colorscheme desert
set nu
set mouse=a
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'gmarik/vundle'
filetype plugin indent on
Bundle 'vim-octopress'
autocmd FileType markdown setfiletype octopress
希望有人能帮助我,告诉我如何调试这个东西…我看不到这个:
autocmd BufNewFile,BufRead *.markdown setfiletype octopress
我只在结尾看到这一点:
autocmd FileType markdown setfiletype octopress
我认为解决这个问题会解决你的问题
更新:
还有两件事要考虑。首先,标记语法插件将文件类型设置为mkd
,而不是Markdown
。这似乎也不能正常工作:
autocmd FileType mkd setfiletype octopress
但这确实:
au FileType mkd set filetype=octopress
…这是有道理的<代码>设置文件类型不会设置文件类型(如果文件类型为)。因为它已经被标记为类型为
mkd
,所以它没有被更新为新的文件类型。这是因为setfiletype。。。但只有在一系列(嵌套的)自动命令中尚未完成时才可以执行。
第一个版本的文件类型设置是否正确?我设置了一个vimrc,其中只有
autocmd BufNewFile,BufRead*.markdown setfiletype octopress
,然后运行vim-u./my vimrc-u NONE xxx.markdown
。键入:设置文件类型?
显示它已正确设置为octopress。我知道它可以工作。我猜是.vimrc中的某些内容导致此命令不起作用。第一步是验证是否使用autocmd
正确设置了文件类型。我知道当你手动说setfiletype-octopress
时它会起作用,但是如果不这样做,文件的文件类型是否正确?我不认为是这样,发生了什么事。我将setfiletype-octopress
更改为setfiletype=octopress
,效果很好。谢谢你,你的问题很狭隘。一般问题已在中得到回答,可能不是问题,但您已在文件中多次设置nocompatible
。您应该删除重复项并将其作为文件的第一行,这样您就不会撤消已设置的内容(编辑:实际上您有许多重复的内容…@l或者我知道设置语法的方法,但我的autocmd不起作用,我想知道为什么以及如何调试它。行本身没有问题。尝试删除.vimrc
的其他部分,直到它开始工作,或者可能对其他部分(如路径)进行故障排除。这真的不是一个建设性的问题。我解决它。这是因为au BufRead,BufNewFile*.xyz setfiletype c;仅当未检测到此扩展名的文件类型时设置此扩展名
,这是您提到的问题的一个答案@谢谢你的批评。因为你们,这个网站变得很有用。你们可以同时使用:setfiletype
和setfiletype
。
filetype plugin on
filetype indent on
au FileType htm,html,php,css setl ts=2 sw=2 sts=2 et