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

偶然查资料看见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. ios开发——实用技术篇&XML协议详解

    XML的数据协议组成 名词 说明 md5 message-digest algorithm 5 http hypertext transfer protocol xml extensible mark ...

  2. pager 命令

    https://www.percona.com/blog/2013/01/21/fun-with-the-mysql-pager-command/ Last time I wrote about a ...

  3. Python学习 之 流程控制

    1.if else 语法:if expression1: statement1(s) elif expression2: statement2(s) else: statement3(s) 2.for ...

  4. 那些著名或非著名的iOS面试题-前编

    1.如何追踪app崩溃率,如何解决线上闪退 当iOS设备上的App应用闪退时,操作系统会生成一个crash日志,保存在设备上.crash日志上有很多有用的信息,比如每个正在执行线程的完整堆栈跟踪信息和 ...

  5. iOS的APP验证版本更新方法

    一个老项目没有集成自动检测及提示用户更新新版本的功能,自己在网上查资料捣鼓出自己的方法,可能比较粗陋,希望大家多多指导,我们的项目的版本号是X.X.X的格式,所以直接把字符串转换成float类型的值无 ...

  6. [课程相关]homework-08

    一.变量作用域和生命周期 #include <cstdlib> #include <iostream> using namespace std; void try_change ...

  7. poj 2585 拓扑排序

    这题主要在于建图.对9个2*2的小块,第i块如果出现了不等于i的数字,那么一定是在i之后被brought的.可以从i到该数字建一条边. 图建好后,进行一次拓扑排序,判段是否存在环.若存在环,那么就是B ...

  8. Android异常:异步任务导致的窗口句柄泄漏问题

    05-05 10:36:41.009: E/WindowManager(4243): Activity com.tao.MyActivity has leaked window com.android ...

  9. 在Visual Studio 的 “一般处理程序 ” .ashx 文件中如何创建Session 对象

    只需要继承这个接口即可实现创建Session对象.  IHttpHandler,System.Web.SessionState.IHttpSessionState 代码示例: public class ...

  10. MyBatis(3.2.3) - Configuring MyBatis using XML, Environment

    The key component of MyBatis is SqlSessionFactory from which we get SqlSession and execute the mappe ...