CentOS 6.5上面弄了2天,以失败告终!!!当作练手了。在网上看到一篇CentOS7.0上安装YouCompleteMe插件的文章,就重新在虚拟机上安装了一个CentOS7,按那个文章执行了一下,花了一天的时间,安装成功了。

文章地址:http://www.tuicool.com/articles/yquEZzb

安装:

1.先安装vundle插件,这个插件可以看作是像360的软件管家,只是这个vundle插件是管理vim插件的(也许还可以管理非vim的插件,我没深究)。利用这插件可以管理很多vim的插件。

$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
【注】没有特别说明,这里命令都代表在$HOME目录下。$表示一般用户,#表示root
如果没有git命令,那就先去安装一个git
$ vim .vimrc
【注】如果没有这个.vimrc文件,可以用root用户查看root用户的$HOME目录下面有没有,如果有的话就拷贝一份到当前普通用户的$HOME下面来,或者自己新建一份也行。如果没有的话,可能是没有安装vim。别看系统能输入vim命令,不一定安装了,到下面的步骤还会再讲这个问题。
配置内容如下,复制粘贴进去即可:
set nocompatible              " be iMproved, required
filetype off                  " required" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" alternatively, pass a path where Vundle should install plugins
"let path = '~/some/path/here'
"call vundle#rc(path)" let Vundle manage Vundle, required
Plugin 'gmarik/vundle'" The following are examples of different formats supported.
" Keep Plugin commands between here and filetype plugin indent on.
" scripts on GitHub repos
Plugin 'tpope/vim-fugitive'
Plugin 'Lokaltog/vim-easymotion'
Plugin 'tpope/vim-rails.git'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" scripts from http://vim-scripts.org/vim/scripts.html
Plugin 'L9'
Plugin 'FuzzyFinder'
" scripts not on GitHub
Plugin 'git://git.wincent.com/command-t.git'
" git repos on your local machine (i.e. when working on your own plugin)
Plugin 'file:///home/gmarik/path/to/plugin'
" ...

filetype plugin indent on     " required
Bundle 'Valloric/YouCompleteMe'

保存退出,然后在输入vim命令,打开vim编辑器,在vim的命令模式下输入如下命令进行插件安装。(需要安装的插件就配置在.vimrc文件中,看看.vimrc配置文件就清楚了)

:BundleInstall

【注】我安装的时候出现问题,vim居然提示找不到BundleInstall命令,就是说,我输入上面那个安装命令,提示找不到命令,删掉几个字母,按Tab,也没有自动提示补全命令,果然是没有BundleInstall命令。我猜测会不会Bundle也是一个插件,也没有安装,按这个思路搜索了一上午的文章,也没找到解决办法。后来偶然看到一个文章中说执行vi并一定就是打开的vi,也有可能是打开的vim,我就猜测难道我的centos7都没装vim。结果我用虚拟机的软件安装向导一搜索vim,果然vim是可以安装的状态,那就表示我系统没安装,要么就是版本低(我不确定),反正就是安装好vim后,BundleInstall命令才可以用。

安装时有个错误,这是正常的,因为ycm需要手动编译出库文件。

Done! With errors; press l to view log

ycm_client_support.[so|pyd|dll] and ycm_core.[so|pyd|dll] not detected; you need to compile YCM before using it. Read the docs!

另外,如果有些插件安装失败,那就别管了,注释掉,主要保证YouCompleteMe插件能安装上。

配置YouCompleteMe:

然后到.vim/bundle/YouCompleteMe 下执行命令

$ ./install.sh --clang-complete

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

【注】执行命令后,可能会报错。我安装的时候是报错了,先报了一个错误,我看了报错信息,大概意思是没有CMake命令。网上搜了一下,安装了CMake,就解决了。

然后可能还会出现报错:

Some folders in /home/sky-tm/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party are empty; you probably forgot to run:    git submodule update --init --recursive

若出现此错误,则按照提示来,继续输入命令:

$git submodule update --init –recursive
等此命令更新完成后,再此执行命令:
$ ./install.sh --clang-complete

YouCompleteMe进行补全时需要查找一个 ycm_global_ycm_extra_conf文件。可以每次在工作目录中放置这个文件,也可以设置全局。全局设置要在. vim rc中添加一行即可。

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

 
我最后只是把.ycm_extra_conf.py拷贝一份,放到我的$HOME目录下了,然后再配置了一下,增加了一些C/C++标准头文件的路径。还是不太懂那个配置文件的意思。

另外,我想配置一下,让这个只提供C,C++相关的提示,不要其他语言的提示,应该怎么做?

另外,这个文章中的.vimrc配置并不是最终的,到此为止,我试了一下,效果并不是很好,也许我还没有发挥它的最大威力,不过个人感觉确实不咋地,又在网上找了一份配置,就拷贝的一份.vimrc文件,然后修改了一些格式上的错误(代码中用的中文标点引起错误),然后试了一下,效果还可以,居然按F5可以编译执行,有种VS上的感觉了。注意一点,更换了.vimrc文件之后,还是要执行BundleInstall,因为第二份的.vimrc配置文件增加了一些插件,需要BundleInstall一下.

记录本人电脑上vim的一些操作方式:

Ctrl + ]  跳转到函数定义
Ctrl +t   返回函数调用处

F5 编译运行C/C++程序(另外,关于unix网络编程源代码使用,这里不能用F5来编译了,应该用gcc –o name name.c -lunp)

转载于:https://www.cnblogs.com/VIPler/p/5444905.html

Linux CentOS 7 YouCompleteMe相关配置。相关推荐

  1. linux中关于ssh实验,操作系统实验三linux的telnetftpssh的相关配置及验证

    操作系统实验三linux的telnetftpssh的相关配置及验证 -1-昆明理工大学信息工程与自动化学院学生实验报告( 2010 -2011 学年第 二 学期 )课程名称:操作系统 开课实验室:信自 ...

  2. linux使用running网卡ping,Linux CentOS 7 IP地址配置及网络问题排查

    一.Linux CentOS 7 IP地址配置 输入命令"ifconfig" 查看本机IP地址.[[email protected] ~]# ifconfig ens33: fla ...

  3. linux6.5做bond1,Linux CentOS 7 多网卡配置bond模式 bond1 bond5 bond6-Go语言中文社区

    https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-N ...

  4. Linux(CentOS 6.7)下配置Mono和Jexus并且部署ASP.NET MVC3、4、5和WebApi(跨平台)

    1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有 ...

  5. Linux(CentOS 6.5)下配置Mono和Jexus并且部署ASP.NET MVC5

    1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有 ...

  6. 两种Linux CentOS 6.5 网络配置方法

    方法一.修改网络配置文件 cd /etc/sysconfig/network-scripts cp ifcfg-eth0 ./ifcfg-eth0.bak //修改前先备份 第一个以太网卡对应的网络配 ...

  7. linux(centos) NET模式网络配置

    2019独角兽企业重金招聘Python工程师标准>>> linux虚拟机一般使用桥接和net模式,但是由于桥接在不同的网络环境中,需要重新配置,所以建议使用net模式,net模式的配 ...

  8. linux Centos的ftp搭建-配置-上传下载文件--全面版

    ftp搭建 一.搭建前提 a.ssh服务已经开启,b.防火墙关闭,c.连网 1.查看ssh和防火墙的状态    service sshd status    service iptables stat ...

  9. Linux centOS 7下安装配置Tomcat

    环境:我这边使用的是3A服务器的CentOS 7.9系统 Tomcat下载地址:Apache Tomcat® - Apache Tomcat 8 Software Downloads 安装rz工具上传 ...

最新文章

  1. 用java实现一个计算器程序_1.2第一个java程序——hello world
  2. gitlab8.2-8.16-8.17-9.0升级
  3. java 内存溢出-与gc
  4. 突然决定,送一台笔记本!
  5. 基因分子生物学~tRNA,mRNA,蛋白质合成
  6. JDBC批量操作批量增加批量修改
  7. 服务器与项目之间的关系,项目 服务器 和数据库的关系
  8. android调用python框架_在Java中从Android应用程序执行Python脚本?
  9. 服气!蹭热点无敌,麦当劳发布“5G”新品:真香
  10. awk的基本使用方法
  11. 惠普win7驱动_hp打印机驱动如何安装 hp打印机驱动安装方法【步骤详解】
  12. 微信 iOS 收款到帐语音提醒开发总结
  13. 缺少tlqcu_qcu1.conf文件
  14. 用python写恶搞病毒
  15. windows系统上安装与使用Android NDK r5
  16. [Python] 练习代码
  17. Ubuntu中挂载使用nas服务器
  18. Request method ‘POST‘ not supported
  19. 2021秋招IC验证面经-华为/英伟达/兆易创新/ZeKu
  20. sql server 简单应用

热门文章

  1. 网站开发技巧参考大全转
  2. 从一个案例看系统优化
  3. Java API —— Map接口
  4. margin负值布局(一)
  5. [PLL][PM]锁相环模拟相位解调
  6. VIM使用系列:寄存器与复制粘贴缓冲区
  7. [转载] 杜拉拉升职记——23 “You deserve it”的两种解释
  8. MongoDB限制与阈值
  9. android Set的遍历
  10. C++中class与struct的区别