2011-04-09 43 views
17

我正在尝试使用vim-coffee-script插件https://github.com/kchmck/vim-coffee-script,但它没有将检测文件检测为coffeescript文件类型。但是,当我手动执行它为什么VIM不检测我的coffescript文件类型?

:set ft=coffee 

它的工作原理。这是怎么回事?

的.vimrc和test.coffee https://gist.github.com/911087

+2

您是否也安装了插件的ftdetect部分? coffee.vim就是这样做的部分,你可以看到:'autocmd BufNewFile,BufRead * .coffee set filetype = coffee' – Cascabel 2011-04-09 04:07:10

+0

谢谢!想通了,虽然..它被添加为git submodule,所以一切都存在,但ftdetect没有得到加载。问题更多的是,为什么它没有被加载......但现在是这样。谢谢 – noli 2011-04-09 04:09:51

回答

20

我想通了。我不得不通过设置

filetype off 
filetype on 

特别给力的文件类型的重装,我不得不这样做运行后

syntax on 

这主要是在病原体自述中解释

http://www.vim.org/scripts/script.php?script_id=2332

+0

呵呵。我不使用病原体,但看起来很奇怪。如果你只是将所有这些文件转储到正确的目录中,它将自行工作,不需要任何vimrc欺骗。 – Cascabel 2011-04-09 04:14:46

+1

不知道该说些什么......它肯定有些微妙......但是我用gim submoduled vim-coffee-script回购,并且它没有工作。也就是说,它可能是我以前从来没有处理过的.vimrc配置中的一个bug ... – noli 2011-04-09 04:54:19

+1

@Jefromi我刚从病原体切换到Vundle,并看到了此错误的*介绍*。使用noli的解决方案修复了我的bug。 – 2013-03-05 01:09:44

10

诺利的解决方案为我工作有时。在其他时间或其他文件类型,它打破了。这真让我气愤。

解决方案syntax enable移动到vimrc的底部。

说明:继继诺利的逻辑之后,我检查了pathogen docs on Github。有一两件事引起了我的眼睛

execute pathogen#infect() 
syntax on 
filetype plugin indent on 

一切都是打开安装插件后。我注意到在我的vimrc中并不是这种情况,所以我将syntaxfiletype移到了我的vimrc的底部。问题已解决(迄今为止)

+0

谢谢,超级有用。我必须同时做你的解决方案和noli的解决方案才能实现它。具体来说,我必须在'filetype plugin indent on'之前包含'filetype off'。 – 2013-08-09 23:50:22

+0

对我来说,这是在我切换到Vundle后开始发生的。我意识到'语法'和'文件类型'行在所有'Bundle'行之前,所以我将它们移动到后面,并且事情再次开始工作。 – 2013-10-14 14:03:25

+0

Eric Hu的解决方案也适用于我。我不必将'syntax'一直移动到底部,在'filetype plugin indent on'之后将它移动到行就足够了。 – dmoench 2013-12-13 02:45:19

3

我尝试了所有建议的解决方案,但没有人为我工作。为我工作的解决方案是将下面的这段添加到~/.vimrc文件

syntax on 
filetype on 
au BufNewFile,BufRead *.coffee set filetype=coffee 

和问题就解决了。

+0

我的.vimrc中的最后一行感谢 – nykc 2015-12-28 19:02:04

相关问题