mac下用macvim(可以理解为mac下带gui的vim,类似于gvim),使用vundle管理VIM的插件,用PluginUpdate更新之后,发现YCM插件无法生效了,在macvim下执行:echo has('python3')
结果为0,意味着是因为macvim不支持python3或者python3未安装,执行如下操作把相关软件重新安装了一遍解决了:
-
安装macvim
brew install macvim
或重新安装macvim
brew reinstall macvim
-
安装python3
brew install python3
-
安装YCM插件
在.vimrc中的vundle#begin和vundle#end中增加:call vundle#begin() Plugin 'git@github.com:Valloric/YouCompleteMe.git' call vundle#end()
然后在macvim界面中执行:
:PluginInstall
-
编译YCM core文件(具体细节请参考https://github.com/ycm-core/YouCompleteMe)
该文件用于语义补全支持用。YCM安装后应该位于~/.vim/bundle/YouCompleteMe/
目录下,进入该命令执行:cd ~/.vim/bundle/YouCompleteMe python3 install.py --clangd-complete
编译完成之后会在
~/.vim/bundle/YouCompleteMe/third_party/ycmd/
下生成一个ycm_core.so的库文件,即表示成功。可能在编译成功后会有如下提示:Clangd completer enabled. If you are using .ycm_extra_conf.py files, make sure they use Settings() instead of the old and deprecated FlagsForFile().
找到
.ycm_extra_conf.py
文件,把FlagsForFile
用Settings
替换即可,.ycm_extra_conf.py
文件默认可以在~/.vim/bundle/YouCompleteMe/third_party/ycmd/examples
下找到,可能会被复制到其他路径下,YCM插件实际用的哪个文件可以查看.vimrc
文件里面对g:ycm_global_ycm_extra_conf
变量的设置,例如:let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
网友评论