YCM 的安裝看似很難,但其實很簡單。
這篇記錄一下最直接乾脆的安裝方式。
當然步驟還是有點多,但忍耐一下,裝一次就上手了。
簡單記錄步驟:
若出現以下錯誤訊息:
The ycmd server SHUT DOWN (restart with ':YcmRestartServer'). YCM ... YCM before using it . Follow the instruction in the documentation.
這個訊息不要理它。
下一步要做的,就是直接依照官方說明來安裝:
let g:ycm_show_diagnostics_ui=0
let g:ycm_enable_diagnostic_signs=0
let g:ycm_enable_diagnostic_highlighting=0
[錯誤訊息排除]
目前我遇到的錯誤訊息有:
開啟 Vim 時,出現:
AttributeError: 'module' object has no attribute 'FlagsForFile'
解決方法參考:這篇文章
將以下程式碼輸入到 .ycm_extra_conf.py 的最尾端:
然後在 .vimrc 內加入:
然後再重新啟動 vim 一次就可以了。
參考資料1
參考資料2
這篇記錄一下最直接乾脆的安裝方式。
當然步驟還是有點多,但忍耐一下,裝一次就上手了。
簡單記錄步驟:
- 先確定有沒有 ~/.vim/bundle 這個資料夾,沒有的話就建立一個。
mkdir -p ~/.vim/bundle - git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
- 在~/.vimrc 內設定套件安裝路徑,也可以依照預設的路徑設定:
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here') - 在 .vimrc 內加入 Plugin 'Valloric/YouCompleteMe'
- 存檔並執行 :source %,然後執行 :PluginInstall
- 如果之後想要移除套件,就在 .vimrc 內將套件名字註解,例如可以把 Plugin 'Valloric/YouCompleteMe' 這行註解掉,然後存檔,重新進入 vim 執行 :PluginClean 即可。
若出現以下錯誤訊息:
The ycmd server SHUT DOWN (restart with ':YcmRestartServer'). YCM ... YCM before using it . Follow the instruction in the documentation.
這個訊息不要理它。
下一步要做的,就是直接依照官方說明來安裝:
- cd ~/.vim/bundle/YouCompleteMe/
- 我是64位元電腦,在準備執行下一步 python3 ./install.py --all 之前,要先確保以下套件安裝完畢:
mono-complete, xbuilder, gocode, python3-dev, vim-gocomplete, gccgo-go, npm, cargo
反正就是看等一下執行python3 ./install.py -all 結果顯示缺什麼套件,就安裝那些套件,然後重跑一次python3 ./install.py --all - 執行 python ./install.py --all,這樣可以替所有程式語言安裝YCM的功能,當然你可以選擇只要安裝特定語言的自動補全,我是選擇全部語言都支援。
- 大功告成。
let g:ycm_show_diagnostics_ui=0
let g:ycm_enable_diagnostic_signs=0
let g:ycm_enable_diagnostic_highlighting=0
[錯誤訊息排除]
目前我遇到的錯誤訊息有:
開啟 Vim 時,出現:
AttributeError: 'module' object has no attribute 'FlagsForFile'
解決方法參考:這篇文章
將以下程式碼輸入到 .ycm_extra_conf.py 的最尾端:
import ycm_core flags = [ '-Wall', '-Wextra', '-Werror', '-Wno-long-long', '-Wno-variadic-macros', '-fexceptions', '-ferror-limit=10000', '-DNDEBUG', '-std=c99', '-xc', '-isystem/usr/include/', ] SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', ] def FlagsForFile( filename, **kwargs ): return { 'flags': flags, 'do_cache': True }
然後在 .vimrc 內加入:
let g:ycm_global_ycm_extra_conf = "~/.vim/bundle/YouCompleteMe/.ycm_extra_conf.py"
然後再重新啟動 vim 一次就可以了。
參考資料1
參考資料2
留言
張貼留言