2011-04-09 41 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

相關問題