将成功安装的YouCompleteMe移植到同平台机器里


已经成功测试,将CentOS 6.5 x86 已经安装YouCompleteMe的副本复制到其他CentOS 6.5 x86

完美运行!



需要准备的文件:

原机器的.vimrc 文件放在新机器家目录下面

原机器的.vim目录复制到 新机器 家目录下面

原机器的 libstdc++.so.6.0.22放在新机器/usr/lib/目录下面



[root@CentOS ~]# vim main.c   #尝试创建文件
YouCompleteMe unavailable: requires Vim 7.4.143+
Press ENTER or type command to continue
报错:requires Vim 7.4.143+

---------------------------------------
解决
[root@CentOS ~]# sudo yum -y update vim #安装了7.4.629
[root@CentOS ~]# vim --version | head
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 21 2016 17:06:34)
Included patches: 1-207, 209-629

[root@CentOS ~]# vim --version | grep python #查看vim是否支持python
+cryptv          +linebreak       +python/dyn      +viminfo
+cscope          +lispindent      -python3         +vreplace
----------------------------------------------

[root@CentOS ~]# vim main.c   #再次尝试创建文件
报错:
The ycmd server SHUT DOWN (restart with ':YcmRestartServer'). 
Unexpected error while loading the YCM core library. 
Use the ':YcmToggleLogs' command to check the logs. 
--------------------------------------------------
解决:
:YcmToggleLogs
Available logfiles are:                                                                                       
ycm_hjlCmk.log
ycmd_60897_stderr_EMLHKO.log
ycmd_60897_stdout_zZZEKw.log

[root@CentOS ~]# vim /tmp/ycmd_60897_stderr_EMLHKO.log #查看err
发现问题所在
ImportError: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.20` not found (required by /root/.vim/bundle/YouCompleteMe/third_party/ycmd/ycmd/../ycm_core.so)


将libstdc++.so.6.0.22 更新到系统
[root@CentOS ~]# mv libstdc++.so.6.0.22 /usr/lib  #放在该放的位置
[root@CentOS ~]# ln -fs /usr/lib/libstdc++.so.6.0.22 /usr/lib/libstdc++.so.6  

==================================================
[root@CentOS ~]# vim main.c   #再次尝试创建文件


头文件自动补全


将成功安装的YouCompleteMe移植到同平台机器里_第1张图片


结构体自动补全1

将成功安装的YouCompleteMe移植到同平台机器里_第2张图片


结构体自动补全2

将成功安装的YouCompleteMe移植到同平台机器里_第3张图片





上述过程简写:

[root@CentOS ~]# sudo yum -y update vim
[root@CentOS ~]# mv libstdc++.so.6.0.22 /usr/lib
[root@CentOS ~]# ln -fs /usr/lib/libstdc++.so.6.0.22 /usr/lib/libstdc++.so.6
[root@CentOS ~]# vim main.c

写一个HelloWorld试试。