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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 算法之记忆化搜索_艾宾浩斯记忆曲线的算法实现

    算法之记忆化搜索_艾宾浩斯记忆曲线的算法实现记忆化搜索其实就是暴力搜索的过程中保存一些已经计算过的状态(思想类似于动态规划,保存计算过的状态),在暴力搜索的过程中利用这些计算过的状态从而减少很大程度上的计算,从而达到时间复杂度上的优化。1【问题描述】 小明想知道,满足以下条件的正整数序列的数量: 1.第一项为n; 2.第二项不超过n; 3.从第三项开始,每一项小于前两项的差的绝对值。 请计算,对于给定的n,有多少种满足条件的序列。【输入格式】 输入一行包含一个整数n。【输出格式】 输出一个整数,表示答案。答案可能很大

  • 二叉树abcdefghij先序遍历_二叉搜索树的查找递归算法

    二叉树abcdefghij先序遍历_二叉搜索树的查找递归算法给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。题解深搜/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() :

  • 【python】lambda表达式与排序

    【python】lambda表达式与排序lambda表达式简单易用的匿名函数文章目录lambda表达式1.什么是lambda表达式2.lambda表达式语法3.lambda表达式的主要用途3.1list.sort()函数3.2自定义属性排序3.3常见的小问题3.4二维列表的排序1.什么是lambda表达式在学习lambda表达式之前,我们先写一个求圆的面积的函数defget_area(radius):return3.14*radius**2radius=float(input())pri

    2022年10月17日
  • web开发excel文件上传及解析(下)

    web开发excel文件上传及解析(下)

  • 回发或回调参数无效。在配置中使用 <pages enableEventValidation=”true”/> 或在页面中使用 <%@ Page EnableEventValidation=”true”

    回发或回调参数无效。在配置中使用 <pages enableEventValidation=”true”/> 或在页面中使用 <%@ Page EnableEventValidation=”true”回发或回调参数无效。在配置中使用或在页面中使用启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用ClientScriptManager.RegisterForEventValidation方法来注册回发或回调数据以进行验证。这两天写程序总是遇到相似的程序在不同页面,出现不一样的结果。以下是

发表回复

您的电子邮箱地址不会被公开。

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