2013-10-11 22 views
1

我有這3行我的.vimrc爲什麼Pathogen「神奇地」解決Vim語法突出問題?

" keeping pathogen only for its 'syntax on' bug workaround 
Bundle "tpope/vim-pathogen" 
execute pathogen#infect() 

我必須刪除並重新添加這3行現在大約十幾次。我使用的是Vim的最新版本,但由於某些原因,某些語法突出顯示無法正常工作。

在MacOS上,Go語法突出顯示不起作用,而在Arch Linux上。但在Arch上,coffeescript未突出顯示。出於某種原因,執行pathogen#infect()可解決兩種平臺上的所有問題。

對我來說就像是一種黑魔法,所以我想知道爲什麼。有沒有更好的方法來解決這個問題?

回答: 我看過我的vimrc,發現錯誤。我此行

filetype plugin indent on 

before的捆綁的,它應該是after分發包。

+0

這些(在什麼目錄下)的語法文件在哪裏? –

+0

我使用Vundler來安裝它們。例如:捆綁「kchmck/vim-coffee-script」。因此,文件在〜/ .vim/bundle/vim-coffee-script /(ftplugin,syntax等...) –

+0

檢查':scriptnames'輸出在工作時和不工作時。我懷疑一些語法文件沒有加載,當它不工作 –

回答

3

默認情況下,Vim在啓動時不查找.vim/bundle目錄。所以這意味着你的「ftdetect」不會被加載。

病原體會查看每個包目錄並加載它們。

如果您想自己看看,請啓動Vim兩次,一次使用並且一次不使用pathogen:infect(),並在啓動後鍵入:scriptnames。你會看到加載腳本的列表。

您甚至可以在調用:scriptnames以獲得加載腳本的確切差異之前,將輸出寫入文件中,然後執行:redir

+0

如果他使用Vundle並且它不支持ftdetect,那麼他必須找到另一個插件管理器或向其作者提交問題。 – romainl