Linux CentOS 7 YouCompleteMe相关配置。
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相关配置。相关推荐
- linux中关于ssh实验,操作系统实验三linux的telnetftpssh的相关配置及验证
操作系统实验三linux的telnetftpssh的相关配置及验证 -1-昆明理工大学信息工程与自动化学院学生实验报告( 2010 -2011 学年第 二 学期 )课程名称:操作系统 开课实验室:信自 ...
- linux使用running网卡ping,Linux CentOS 7 IP地址配置及网络问题排查
一.Linux CentOS 7 IP地址配置 输入命令"ifconfig" 查看本机IP地址.[[email protected] ~]# ifconfig ens33: fla ...
- 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 ...
- Linux(CentOS 6.7)下配置Mono和Jexus并且部署ASP.NET MVC3、4、5和WebApi(跨平台)
1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有 ...
- Linux(CentOS 6.5)下配置Mono和Jexus并且部署ASP.NET MVC5
1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有 ...
- 两种Linux CentOS 6.5 网络配置方法
方法一.修改网络配置文件 cd /etc/sysconfig/network-scripts cp ifcfg-eth0 ./ifcfg-eth0.bak //修改前先备份 第一个以太网卡对应的网络配 ...
- linux(centos) NET模式网络配置
2019独角兽企业重金招聘Python工程师标准>>> linux虚拟机一般使用桥接和net模式,但是由于桥接在不同的网络环境中,需要重新配置,所以建议使用net模式,net模式的配 ...
- linux Centos的ftp搭建-配置-上传下载文件--全面版
ftp搭建 一.搭建前提 a.ssh服务已经开启,b.防火墙关闭,c.连网 1.查看ssh和防火墙的状态 service sshd status service iptables stat ...
- Linux centOS 7下安装配置Tomcat
环境:我这边使用的是3A服务器的CentOS 7.9系统 Tomcat下载地址:Apache Tomcat® - Apache Tomcat 8 Software Downloads 安装rz工具上传 ...
最新文章
- 用java实现一个计算器程序_1.2第一个java程序——hello world
- gitlab8.2-8.16-8.17-9.0升级
- java 内存溢出-与gc
- 突然决定,送一台笔记本!
- 基因分子生物学~tRNA,mRNA,蛋白质合成
- JDBC批量操作批量增加批量修改
- 服务器与项目之间的关系,项目 服务器 和数据库的关系
- android调用python框架_在Java中从Android应用程序执行Python脚本?
- 服气!蹭热点无敌,麦当劳发布“5G”新品:真香
- awk的基本使用方法
- 惠普win7驱动_hp打印机驱动如何安装 hp打印机驱动安装方法【步骤详解】
- 微信 iOS 收款到帐语音提醒开发总结
- 缺少tlqcu_qcu1.conf文件
- 用python写恶搞病毒
- windows系统上安装与使用Android NDK r5
- [Python] 练习代码
- Ubuntu中挂载使用nas服务器
- Request method ‘POST‘ not supported
- 2021秋招IC验证面经-华为/英伟达/兆易创新/ZeKu
- sql server 简单应用