Ubuntu16.04下配置YouCompleteMe

2024-06-14 22:32

本文主要是介绍Ubuntu16.04下配置YouCompleteMe,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目的:想要在Ubuntu下跑实验,所以希望能够有类似于IDE那样的代码提示功能的软件,所以在Ubuntu下进行了配置,遇到了很多问题。

需要工具:VundleVim

     YouCompleteMe

1、安装VundleVim

  VundleVim能够为我们自动安装插件,并且为YouCompleteMe做必要的准备,具体方法可以见github:

  https://github.com/VundleVim/Vundle.vim

  可以执行命令:

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

  如果出现没有git命令,可以先安装git命令.

sudo apt-get install git

  完成之后,来到根目录进行配置,具体操作:

1 $ cd ~
2 $ vim .vimrc

  之后将Vundle中的配置文件内容拷贝到.vimrc中,可以对其中一些不需要的配置进行注释

2、安装YouCompleteMe    

  在.Vimrc中写入YouCompleteMe

  

  保存退出

  之后随意的开启vim,在vim中输入

:PluginInstall 

  注意:大小写是敏感的,PluginInstall前有一个冒号.

  等待安装完成,需要一些时间。

  之后我们按照官方文档上来执行:https://github.com/Valloric/YouCompleteMe#ubuntu-linux-x64

  编译支持C族语言的YCM

cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer

  编译不支持C族语言的YCM

cd ~/.vim/bundle/YouCompleteMe
./install.py

  可能会出现的问题,CMake没有安装,可能出现No CMAKE_CXX_COMPILER could be found

\

sudo apt-get install cmake

 在编译时也会遇到编译通不过问题可以尝试一下执行

git submodule update --init --recursive

其次需要确保你有一些python头文件。如果没有,请按如下安装:

sudo apt-get install python-dev

3.配置YCM

  编译完成后,自己创建了一个cpp编辑发现不能提示,并且报错,No .ycm_extra_conf.py file detected, so no compile flags are available. Thus no semantic support for C/C++/ObjC/ObjC++

  首先到 .vim/bundle/YouCompleteMe文件下没有发现cpp这个文件,自己建立了一个

mkdir cpp

  阅读手册:https://github.com/Valloric/YouCompleteMe#general-semantic-completion

 

  一共有两种方法来建立.ycm_extra_conf.py ,第一种没有看懂,所以使用第二种

For a more elaborate example, see YCM's own .ycm_extra_conf.py. You should be able to use it as a starting point. Don't just copy/paste that file somewhere and expect things to magically work; your project needs different flags. Hint: just replace the strings in the flags variable with compilation flags necessary for your project. That should be enough for 99% of projects.

You could also consider using YCM-Generator to generate the ycm_extra_conf.py file.(暂未实现理解)

在第二种方法中,我们可以看到作者给的YCM's own .ycm_extra_conf.py,我们可以通过拷贝它来放到自己之前建立的cpp中。在cpp下建立.ycm_extra_conf.py然后将作者的拷贝过来,注:需要在.ycm_extra_conf.py下添加一些引用即在flags下(结尾处加上“,”):

'./tests/gmock/include',
'-isystem',
'/usr/include',
'/usr/include/c++/5.4.0',
'/usr/include',
'/usr/include/x86_64-linux-gnu/c++',

在.vimrc中配置.ycm_extra_conf.py的路径

g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/cpp/.ycm_extra_conf.py'

 到这里配置就完成了

 

这篇关于Ubuntu16.04下配置YouCompleteMe的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1061680

相关文章

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Java中读取YAML文件配置信息常见问题及解决方法

《Java中读取YAML文件配置信息常见问题及解决方法》:本文主要介绍Java中读取YAML文件配置信息常见问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录1 使用Spring Boot的@ConfigurationProperties2. 使用@Valu

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求