vim安装YouCompleteMe 插件

vim安装YouCompleteMe 插件vim安装youcomplete插件,折磨我好久,装不好硬是要把它装好,结果最后终于装好这个补全的插件。为了需要安装的人少走弯路,我的安装过程如下(主要提供步骤):1、先看你的vim版本是多少。我的是vim7.4.52貌似支持python。但是还是不行说是不支持YCM。 最后只能安装vim8.0,手动安装。 具体可以vim–version看来下python和python3是否

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

vim安装youcomplete插件,折磨我好久,装不好硬是要把它装好,结果最后终于装好这个补全的插件。为了需要安装的人少走弯

路,我的安装过程如下(主要提供步骤):

1、先看你的vim版本是多少。

我的是vim 7.4.52貌似支持python。但是还是不行说是不支持YCM。

 最后只能安装vim8.0,手动安装。

 具体可以vim –version看来下python和python3是否满足;然后首先将存在的vim全部卸载掉,包括vim-runtime等


这里安装的是vim8.0,整个编译过程如下:
ubuntu系列
sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \
    libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
    libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \
    python3-dev ruby-dev lua5.1 lua5.1-dev git
git clone https://github.com/vim/vim.git
 –with-python-config-dir=/usr/lib/python2.7/config(这个目录要注意,根据自己的实际目录) 
make 
sudo make install
最后vim –version 检查vim版本和是否支持python。

首先安装一些依赖

最后git clone进行编译即可,这里有一个选项要注意,–enable-pythoninterp和–enable-python3interp就是上面vim对python版

本的支持,如果要安装ycm一定要带上

cd vim

./configure –with-features=huge –enable-multibyte –enable-rubyinterp –enable-pythoninterp \

–enable-python3interp 

–with-python3-config-dir=/usr/lib/python3.5/config –enable-perlinterp –enable-luainterp 

–enable-gui=gtk2 –enable-cscope –prefix=/usr/bin


2、插件安装:

https://github.com/Valloric/YouCompleteMe#full-installation-guide(官网) 网址里面的 Full Installation Guide

的第二步、       配置文件.vimrc用的是     https://github.com/j1z0/vim-config/blob/master/vimrc


3、收尾工作

 sudo apt-get install cmake   sudo apt-get install python-dev python3-dev

 .vim/bundle/YouCompleteMe 下跑

 ./install.sh –clang-completer

参数是为了支持c/c++ 的补全。

安装完成后进行一些简单的配置就可以使用。

YouCompleteMe 的补全配置文件在

~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp.ycm_extra_conf.py,这是个隐藏文件。

默认会使用这个文件,也可以把这个文件copy到工程的根目录中作修改,打开工程文件时会优先使用当前目录下的配置文件。

如果找不到,会根据配置中的ycm_global_ycm_extra_conf 进行查找。


最后:在.vimrc 中添加

let mapleader = “,”  ” 这个leader就映射为逗号“,”

let g:ycm_global_ycm_extra_conf = ‘~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py’   “配置默认的

ycm_extra_conf.py

nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>   “按,jd 会跳转到定义

let g:ycm_confirm_extra_conf=0    “打开vim时不再询问是否加载ycm_extra_conf.py配置

let g:ycm_collect_identifiers_from_tag_files = 1 “使用ctags生成的tags文件


等到后面如果需要其他的配置,可以直接到/.vimrc文件直接配置插件,然后更新即可。

网上有详细的步骤,我只是针对自己的安装做个简单的过程记录,有遇到错误的小伙伴可以给我留言。

参考博客:

https://github.com/Valloric/YouCompleteMe#full-installation-guide

http://www.cnblogs.com/junnyfeng/p/3633697.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234402.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android打开相机拍照及打开相册选择照片「建议收藏」

    android打开相机拍照及打开相册选择照片「建议收藏」照相机拍照Intentintent=newIntent();intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);//照相机拍照//需要说明一下,以下操作使用照相机拍照,//拍照后的图片会存放在相册中的,这里使用的这种方式有一个好处就是获取的图片是拍照后的原图,//如果不实用Cont

    2022年9月22日
  • origin如何绘制双y轴柱状图_Graphpad柱状图双Y轴

    origin如何绘制双y轴柱状图_Graphpad柱状图双Y轴origin横坐标的标注如何修改成双行显示呢?shift+enter,可以换行思路:在两个图层上分别绘制两个柱状图,然后将两个图层合并。第一步:建立一个X列,四个Y列。其中,两列数据中间加上两个空列第二步:绘制第一个柱状图第三步:绘制第二个柱状图第四步:两图层合并点击合并按钮第五步:接下来就是坐标轴的显示基本上就完成了…

    2022年9月30日
  • 安装java编译器

    安装java编译器安装JDK。参考:https://www.cnblogs.com/mr-wuxiansheng/p/6850437.html1.官网下载JavaSEDevelopmentKit13.0.1(由于是访问国外网站,所以会比较慢。)最好下载EXE版本的,这样什么都不用管,点安装就行。https://www.oracle.com/technetwork/java/javase/…

    2022年6月7日
  • AngularJS三个常用的表格组件[通俗易懂]

    AngularJS三个常用的表格组件

    2022年3月5日
  • js 有序集合_java 有序map

    js 有序集合_java 有序map原文:https://blog.csdn.net/themagickeyjianan/article/details/85608721functionSortMap(){this._map={};}SortMap.prototype.add=function(key,value){this._map[key]=value;}SortMap.pr…

    2022年9月23日
  • k8s(十)基本存储[通俗易懂]

    k8s(十)基本存储[通俗易懂]文章目录概述EmptyDirHostPathNFSk8s的数据存储概述在前面已经提到,容器的生命周期可能很短,会被频繁的创建和销毁。那么容器在销毁的时候,保存在容器中的数据也会被清除。这种结果对用户来说,在某些情况下是不乐意看到的。为了持久化保存容器中的数据,kubernetes引入了Volume的概念。Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里面的多个容器挂载到具体的文件目录下,kubernetes通过Volume实现同一个Pod中不同容器之间的数据

    2022年8月9日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号