2013-04-28 94 views
17

我剛剛通過vundle安裝了VIM的YouCompleteMe。它可以工作,但它只顯示當前文件中包含的文字。我想用它來開發C++程序,我如何將它配置爲在/ usr/include中的C++頭文件中顯示autocompletion,例如?非常感謝。Vim YouCompleteMe配置

+2

您需要構建並安裝clang以進行語義完成。您是否按照YCM自述文件中詳述的安裝過程進行操作? – romainl 2013-04-28 16:09:17

+0

是的,我按照指示,但我只得到本地自動完成。爲了安裝YCM作爲vundle bundle,我執行了位於YCM目錄下的安裝腳本。有沒有我錯過的配置? – mastergap 2013-04-29 11:02:57

+8

您是否執行'./install.sh --clang-completer'或'。/ install.sh'? – romainl 2013-04-29 11:29:04

回答

0

雖然這裏的建議可能在一開始就有效,但我不確定這是否正確。據YCM開發者,當你啓動一個項目,你需要一個新.ycm_extra_conf.py文件

https://valloric.github.io/YouCompleteMe/#ubuntu-linux-x64-super-quick-installation

YCM尋找一個.ycm_extra_conf.py文件中打開的文件的目錄或者在層次結構中的任何目錄之上(遞歸地);當找到該文件時,它將作爲Python模塊加載(只有一次!)。 YCM在該模塊中調用FlagsForFile方法,該方法應提供編譯當前文件所需的信息。您還可以提供全局.ycm_extra_conf.py文件的路徑,該文件將用作後備。爲了防止從沒有寫入的文件執行惡意代碼,YCM將會根據.ycm_extra_conf.py詢問您是否可以安全加載。這可以被禁用,你可以白/黑名單文件。請參閱選項部分了解更多詳情。

雖然您可能只需要修改vanilla.ycm_extra_conf.py中的編譯標誌,但我覺得建議您爲每個啓動的項目創建一個新文件。

18

您需要導航到~/.vim/bundles/YouCompleteMe並使用--clang-completer運行安裝腳本,因此請執行./install.sh --clang-completer。完成後,您應該支持C語言。

您可能還需要將let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'放入您的~/.vimrc

+8

對於新版本的ycm,它改爲: 'let g:ycm_global_ycm_extra_conf =「.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py」' – 2015-02-18 23:53:31

+2

對我來說,它似乎完全被修改並且不直觀這個配置。爲什麼我需要將此配置設置爲深入插件文件夾中的隱藏文件?對我而言,這只是感覺錯誤。 – Arne 2015-04-01 12:51:41

6

我安裝了病原體。我使用./install.sh --clang-complete嘗試了上述說明。在此之後,它不起作用,我確實必須添加路徑。但它不同於此處的另一個回覆,即

let g:ycm_global_ycm_extra_conf = '.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py' 

所以在路徑中有一個額外的「third_party/ycmd」。

+0

非常感謝:) 解決了我的問題 – 2015-02-18 23:41:16