如何在 Windows 下使用 Vim 的 YouCompleteMe 插件

如何在 Windows 下使用 Vim 的 YouCompleteMe 插件,第1张

著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:竹青叶

链接:http://www.zhihu.com/question/25437050/answer/31775249

来源:知乎

本Gvim便携版为学习C++和PHP Web开发

而配置的。适用于C/C++,HTML,CSS,HTML,PHP,JS开发。

本便携版本包含了coding常用的插件目录树关键册灶词函数列表高亮等等。详情见_vimrc

对于常见的注释,查找与替换功能在帮助文件目录下有对应说明。

0.使用之前请将vim74目录加到path里面。将user_fonts里面的字体拷贝到c/windows/fonts

中间已获得更好的显示效果

1.自动补全功能有2个可选的插件:

*neocomplete (默认)

*YourCompleteMe

2.在vimrc中注释掉相应的内容即可。 建议是Web开发时用neocomplete,C++开发时用

YourComplete.

3.压缩包中的 neocomplete.txt 为neocomplete插件的推荐配置。按需添加。

在我的电脑上YCM运行效率不好,而Neocomplete非常好。并且功能也完全可以满足。

该插件对C/C++的补全需要tags,所以需先用ctags生成对应的tags才行。_vimrc中有

对应的说明。

4.YourCompleteMe使用说明

1.YourComplete的windows版本 https://bitbucket.org/Haroogan/vim-youcompleteme

-for-windows

2.本程序YCM部分使用的几乎是该作者提供的文件。

3.使用步骤:

a.确保电脑上安装有python2.7,并且python.exe在path目录里。

b.在_vimrc中注释掉neocpmplete插件,反注释YourCompleteMe.

c.打开vim ,输入命令 :YcmDebug.如果有看到clang版本信息号,server running at,

server process ID 等即表示YCM已经可以使用。

d.对于C++补全,首先确保电脑上安装有MinGW或者CLang(折腾去吧)。然后运行如下

命令找到C++的库文件:

gcc:

POSIX shell: g++ -E -x c++ - -v </dev/null

windows: g++ -E -x c++ - -v <nul

LLVM/CLang:

POSIX shell:clang++ -E -x c++ - -v </dev/null

windows: clang++ -E -x c++ - -v <nul

在#include <...>search starts here:和End of search list.之间的路径就拿姿埋是C++

库路径。按照默认配载的格式添加进去。

你也可以直接下载我克隆的MinGW,把它放在C盘根目录,再把MinGW/bin目录加到path中。

e. 经测试,XP系统YCM不可用。WIN7 X86和64可以正常使用。原因未知。

4.YourComplete插件的默认配置文件 帮助文件里面的 .ycm_extra_conf.py文件。注意

里面用的MinGW的消蚂C++库路径。windows下目录注意转义字符。

所有的安装步骤在Vundle,以及YouCompleteMe两个地址上面已经说的很透彻了,但是因为第一次安装,您可能没有太多经验,看到这么多需要安装的工具感到头大。下面我们一步一步来 *** 作,我相信按照下面的 *** 作,您一定能够顺利的完成代码补全功能。

首先,您要保证您的vim版本号要高于7.3.584,毕蔽您可以通过在终端输入:

vim --version

来查看您的vim的版本号。如果没有vim,您需要自己安装。

第二步,安装cmake

sudo apt-get install build-essential cmake

第三步,安装 llvm 和 clang

到 www.llvm.org 下载相应版本的llvm和clang,因为我用的是ubuntu 14.04 64bit的系统所以我直接下载的pre-build binary版本的而不需要下载源码再自己重新编译了。省去了不少麻烦。

咐戚下载完成后,直接将下载后的压缩文件解压,并进入其目录

tar zxvf clang+llvm-3.7.0-amd64-Ubuntu-14.04..tar.gz

cd clang+llvm-3.7.0-amd64-Ubuntu-14.04.

其中 *.tar.gz就是您所下载的压缩文件。

运行命令:

sudo cp -R * /usr/

将目录里的所有文件拷贝到相应的系统目录下,然后再配置一下软链接:

sudo ln -sf /usr/bin/clang++ /etc/alternatives/c++

其中 “-sf”中 “s”代表了软链接,“f”即为force的意思。

运行:clang --version 如果您看到了它的版本号,就说明 llvm 和 clang配置好了。

第四步:安装Vundle,安装过程请参考 https://github.com/VundleVim/Vundle.vim#about ;P.S. :如果您是第一次安装vim,可能需要自己创建vim的配置文件,它是在 “~/ ” 目录下的的一个隐藏文件 .vim 前面的“小点”就说明这是一个隐藏的目录, 用 ls -a才能查看,如果没有,请创建该目录。即:mkdir ~/.vim

配置好Vundle , 请打开主目录下的.vimrc文件,这个文件是按照之前安装vundle时的步骤配置好的,请在call vundle#begin() 和 call vundle#end() 在之间添加 Plugin ‘Valloric/YouCompleteMe‘, 另外,把begin() 和 end()之间除了Plugin ‘VundleVim/Vundle.vim‘ 和 Plugin ‘Valloric/YouCompleteMe‘之外的其他PlugIn 都注释掉把,感觉没什么卵用。

第五步:利用Vundle安装插件

非常简单,在终端中打开vim, 输入" :PluginInstall ", 等待Vundle安装完毕。这可能需要花费一段时间。当vim的底栏显示:Done!(注意不是Done with error !!!) 就表示安装成功。

第衡数陵六步:编译YouCompleteMe, 为了不保证出错,我用的是完全安装的方法。

cd ~

mkdir ycm_build

cd ycm_build

因为我要支持C/CPP的语义支持,我选择:

cmake -G "Unix Makefiles" -DUSE_SYSTEM_LIBCLANG=ON . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp

这里,我选择使用系统的libclang,因为我们也从官网下载了LLVM+Clang(该目录下有 bin, lib, include 等文件夹),我们也可以执行:cmake -G "Unix Makefiles" -DPATH_TO_LLVM_ROOT=~/ycm_temp/llvm_root_dir . ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp 其中“~/ycm_temp/llvm_root_dir”就是我们解压过的文件的根目录

第七步:生成

make ycm_support_libs

到此为止,基本的配置工作就完成了,但是还有一点瑕疵:#include <iostream>, #include <stdio>vector, 什么的都不能补全,这是因为这些头文件的路径没有被找到,下面的工作就是要让YouCompleteMe找到这些头文件,而且,以后有什么库文件,比如OpenCV,OPenGL什么的,都可以按照这个方法添加。

打开 ~/下的.vimrc文件,确保查看是否有这样一条配置:

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

如果没有,请修改.ycm_extra_conf.py的路径是正确的。

打开 ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py

vim ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py

您可以在flags[ * ]数组的后面添加你想要的路径,例如: stdio.h等C语言的头文件包含在/usr/include中,那么您需要添加这样一条

‘-isystem‘,

‘/usr/include’,

注意,不要忘记后面的“,”。

在vim的配置文件vimrc中添加相姿贺晌埋关语句,通过 vundle进行YCM安装,(整个包比较大,时间会比较长)。

将上面的 vim-ycm-windows-x86 文迹谨派件里的内容替换为刚才所安装的YouCompleteme文件里面的全部内容。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12271589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存