我正在尝试使用 vim-coffee-script 插件 https://github.com/kchmck/vim-coffee-script,但它没有将一个测试文件识别为 coffeescript 文件类型。然而当我手动处理时,它可以正常运行。
:set ft=coffee
它起作用了。发生了什么事情?
.vimrc 和 test.coffee 的代码请参考 https://gist.github.com/911087
我正在尝试使用 vim-coffee-script 插件 https://github.com/kchmck/vim-coffee-script,但它没有将一个测试文件识别为 coffeescript 文件类型。然而当我手动处理时,它可以正常运行。
:set ft=coffee
它起作用了。发生了什么事情?
.vimrc 和 test.coffee 的代码请参考 https://gist.github.com/911087
我明白了...我必须通过设置来强制重新加载文件类型。
filetype off
filetype on
具体而言,我必须在运行后执行这个操作
syntax on
这在 pathogen 的自述文件中有详细解释。
Noli的解决方案有时对我有效,但在其他时间或针对其他文件类型却会出问题,这让我很生气。
解决方案是将syntax enable
移到vimrc的底部。
解释:按照Noli的逻辑,我进一步查看了Github上的pathogen文档,其中一个事情引起了我的注意。
execute pathogen#infect()
syntax on
filetype plugin indent on
在安装插件后,所有东西都会被启用。我注意到在我的vimrc中并非如此,所以我将syntax
和filetype
移到了vimrc的底部。问题得到解决(至少目前是这样)。
syntax
和 filetype
行在所有 Bundle
行之前,所以我将它们移到后面,然后事情又开始正常工作了。 - Rufo Sanchezsyntax on
移到最底下,将其移动到filetype plugin indent on
后面的那一行就足够了。 - dmoench我尝试了这里提供的所有解决方案,但都不适用于我。对于我有效的解决方案是将以下代码添加到~/.vimrc
文件中。
syntax on
filetype on
au BufNewFile,BufRead *.coffee set filetype=coffee
au
自动命令的问题 - 事实上,vim-coffee-script应该为您完成此操作
- 不应该有必要添加这个。然而...我发现在:autocmd!
行之前将其插入到我的.vimrc
中一点用也没有;但是在它之后插入,就可以了!然后干脆把那个:autocmd!
行删掉,对我来说也解决了问题 - 我不知道那行代码的作用是什么,但是从删除它到现在,我还没有看到任何负面影响。 - cueedee
autocmd BufNewFile,BufRead *.coffee set filetype=coffee
- Cascabel