做了个小项目,有空闲可以做点事了。

偶然查资料看见YouCompleteMe的鼎鼎大名。

演示demo


<img src="http://i.imgur.com/0OP4ood.gif" alt="YouCompleteMe GIF demo">

vim中的杀手级插件: YouCompleteMe
http://zuyunfei.com/2013/05/16/killer-plugin-of-vim-youcompleteme/
vim中的五星级软件
http://www.huangwei.me/wiki/vim_plugin_list.html
YouCompleteMe – 神器在手,代码无忧!
http://www.yycmmc.com/?p=53
Vim自动补全神器–YouCompleteMe
http://blog.marchtea.com/archives/161#comment-8567

昨天晚上开始google搜索YouCompleteMe资料,搜出好多独立博客,越发认为它是好东西。
先是根据上面其中一篇vundle安装了,并在该git目录下./install.sh了。发现没有cpp的补全,虽然后来发现python的也非常不错。

官网上看到原因,从新编译一遍:
cd ~/.vim/bundle/YouCompleteMe
./install.sh --clang-completer

以tencent-train这个最近的C++项目做实验。
把官网的配置文件.ycm_extra.conf.py复制到项目根目录下
发现还是不行!

搜各种资料,发现:YcmDiags可以检查。

显示:<iostream>中的38行#incldue <bits/c++config.h>找不到文件。

又是各种搜:

这里说的是方法之一,但不能推荐。

Ubuntu13.04配置:Vim+Syntastic+Vundle+YouCompleteMe
http://www.cnblogs.com/csuftzzk/p/3435710.html
狠下心来仔细读英文
g++ 4.6 issue no <bits/c++config.h> file as required by the header cstring
http://stackoverflow.com/questions/9201521/g-4-6-issue-no-bits-cconfig-h-file-as-required-by-the-header-cstring

答案:

The file bits/c++config.h is the platform specific include relative to the current compiler, so it is hidden in another directory, searched by default by g++, but not by clang++, as it seems.

In my machine, running locate c++config.h gives the following (relevant) files:

/usr/include/c++/4.6/i686-linux-gnu/64/bits/c++config.h
/usr/include/c++/4.6/i686-linux-gnu/bits/c++config.h

The first one is for 64-bits and the second one for 32-bits.

So just add -I/usr/include/c++/4.6/i686-linux-gnu or -I/usr/include/c++/4.6/i686-linux-gnu/64 or whatever you need for your platform.

g++默认自动搜索,而clang并非gcc系,所以找不到。

离成功很近了!
但是我修改.ycm_extra.conf.py时一开始
只加了

'/usr/include/i386-linux-gnu/c++/4.8',

其实应该加

'I',
'/usr/include/i386-linux-gnu/c++/4.8',

测试成功,乌乎!这个问题花了我一晚上加4个小时啊!

总结:
YouComplete提示<iostream>没找到bits/c++config.h错误解决方法:
第一步:

:~$ locate bits/c++config.h
/usr/include/i386-linux-gnu/c++/4.8/bits/c++config.h

第二步:
修改.ycm_extra_conf.py,增加两行。

'-I',
'/usr/include/i386-linux-gnu/c++/4.8',

推广一个我见过最好的.vimrc:
http://www.rover12421.com/2014/03/04/vim-configuration-record.html

qtcreator有语言包没法换语言

试用qtcreator,安装过程心累。
apt方式很方便,但没法换语言, /usr/share/qtcreator/translations/ 目录也有qtcreator_zh_CN.qm 啊!
看见
http://forum.ubuntu.org.cn/viewtopic.php?f=162&t=299769&start=0
http://www.ubuntukylin.com/ukylin/forum.php?mod=viewthread&tid=1328
有了自己思路:
与qtcreator windows版本的语言包必定通用吧,不可能开发两套,于是安装win7版的后拿过来用果然可以。
这种思路很重要!!!

 

【实习记】2014-08-19升级vim配置YouCompleteMe并debug的过程+qtcreator有语言包没法换语言的更多相关文章

  1. vim配置----YouCompleteMe配置

    YouCompleteMe是一个功能极强的自动补全插件,安装这个插件折磨了我好久,找了很多博客查看都无果,最后还是感谢stack overflow.和其它的一些插件相比,YCM能够基于语法来给出相应的 ...

  2. 2014/08/24——升级stepbystep修复tc不刷新问题并加入杭电bc

    问题: 自从tc站点升级以后做题统计的tc一栏就不刷新了,为此全哥也更新了一下stepbystep的配置文件什么的,我仅仅要将其挂到server上即可了. 由于加了杭电的bc,看来这事儿不easy.还 ...

  3. Mac 下升级 vim 并自己配置 vim 的过程

    1.升级 vim 我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim -- ...

  4. Vim配置及说明——IDE编程环境

    Vim配置及说明——IDE编程环境 Vim配置及说明——IDE编程环境 1.基本及字体 2.插件管理 3.主题风格 4.窗口设置 5.目录树导航 6.标签导航 7.taglist 8.多文档编辑 9. ...

  5. gitlab4.0->5.0->6.0->7.14->8.0->8.2升级

    参考官方文档: https://gitlab.com/gitlab-org/gitlab-ce/tree/master/doc/update 本地服务器为4.0.1版本  1)4.0.1->4. ...

  6. mac系统终端的color scheme配置和vim配置

    一.配置终端 solarized http://ethanschoonover.com/solarized 简单配置脚本: #!/bin/sh git clone git://github.com/a ...

  7. kali2.0安装及使用笔记(附带vim配置,长期更新)

    作者:陈栋权 时间:16/08/19 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明, 且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 如有特别用途,请与我联系邮 ...

  8. vim配置python开发环境(转)

    安装 因为许多Unix衍生系统已经预装了Vim,我们首先要确认编辑器是否成功安装: vim --version 如果已经安装了,你应该看到类似下面的文字: VIM - Vi IMproved 7.3 ...

  9. 转载:Vim 配置入门

    转载:Vim 配置入门 原文地址:http://www.ruanyifeng.com/blog/2018/09/vimrc.html 作者: 阮一峰 Vim 是最重要的编辑器之一,主要有下面几个优点. ...

随机推荐

  1. MySQL · 引擎特性 · InnoDB 事务子系统介绍

    http://mysql.taobao.org/monthly/2015/12/01/ 前言 在前面几期关于 InnoDB Redo 和 Undo 实现的铺垫后,本节我们从上层的角度来阐述 InnoD ...

  2. MySQL并发复制系列二:多线程复制

     http://blog.itpub.net/28218939/viewspace-1975822/ 并发复制(Parallel Replication) 系列二: Enhanced Multi-th ...

  3. Python学习 之 对内存的使用(浅拷贝和深拷贝)

    1.浅拷贝:对引用的拷贝,只拷贝父对象 cope() 深拷贝:对对象资源的拷贝 deepcope()

  4. cocos2dx libiconv 转码

    iconv下载(Android)已编译完的iconv包(用这个即可) ios自带libiconv,只需#include <iconv.h>即可  步骤 1.libiconv解压文件放置 直 ...

  5. C语言第五节scanf函数

    变量的内存分析 字节和地址 为了更好地理解变量在内存中的存储细节,先来认识一下内存中的"字节"和"地址". 内存以"字节为单位" 0x表示的 ...

  6. SQL语言的四大分类

    以下是sql数据语言类型的关键词: 1.数据定义语言DDL create.drop.alter.truncate 2.数据查询语言DQL  select 3.数据操纵语言DML insert.dele ...

  7. Java 并发专题 : Timer的缺陷 用ScheduledExecutorService替代

    继续并发,上篇博客对于ScheduledThreadPoolExecutor没有进行介绍,说过会和Timer一直单独写一篇Blog. 1.Timer管理延时任务的缺陷 a.以前在项目中也经常使用定时器 ...

  8. 如何向Android模拟器打电话发短信

    1. 启动Android Emulator, 查看标题栏找出端口.一般是android emulator(5554),其中5554就是端口. 2. 打开命令行,输入telnet localhost 5 ...

  9. spring-boot配置外部静态资源的方法

    import java.io.File; import javax.servlet.Servlet; import lombok.extern.slf4j.Slf4j; import org.spri ...

  10. Windows 8.1 归档 —— Step 3 软件的选择与安装

    这里我将列举出一些 Windows 8.1 下实用的软件 --运行库-- 用精简版系统或者绿色版软件时,使用软件经常遇见的情况是“由于应用程序配置不正确,应用程序未能启动”,提示缺少dll文件等.大部 ...