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

偶然查资料看见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. Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,elasticsearch安装配置及中文分词

    http://fuxiaopang.gitbooks.io/learnelasticsearch/content/  (中文) 在Elasticsearch中,文档术语一种类型(type),各种各样的 ...

  2. [Javascript] Monads

    Monads allow you to nest computations. They are a pointed functor that adds mjoin and chain function ...

  3. LibSVM学习(四)——逐步深入LibSVM 转

    原文:http://blog.csdn.net/flydreamgg/article/details/4470121 其实,在之前上海交大模式分析与机器智能实验室对2.6版本的svm.cpp做了部分注 ...

  4. 小白日记39:kali渗透测试之Web渗透-SQL手工注入(一)-检测方法

    SQL手工注入(一) SQL注入:通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.[SQL注入原理] ##服务端程序将用户输入参数作为查询 ...

  5. BootStrap2学习日记8---表单

    <form> <label for="username">用户名</label> <input id="username&quo ...

  6. Ubuntu 14.04 LTS 与Kylin

    现在是安装了Ubuntu 14.04 LTS 但是通过安装ubuntukylin 这个包居然实现了Kylin--原来这个自主研发还这么方便-呵呵 sudo apt-get install ubuntu ...

  7. php.ini 配置文件的深入解析

    [PHP] ; PHP还是一个不断发展的工具,其功能还在不断地删减 ; 而php.ini的设置更改可以反映出相当的变化, ; 在使用新的PHP版本前,研究一下php.ini会有好处的 ;;;;;;;; ...

  8. 高效Count

    SQL Server快速查询某张表的当前行数   传统做法可能是select count(1) 但是往往会比较慢.推荐如下做法: SELECT ISNULL(MAX(rowcnt), 0) Curre ...

  9. Oracle 追踪回话SQL几种方法

    生成sql trace可以有以下几种方式: 1.参数设置:非常传统的方法. 系统级别: 参数文件中指定: sql_trace=true 或 SQL> alter system set sql_t ...

  10. 【推理,贪心】UVa 1319 - Maximum

    看到了大神的代码.理解了好久...真是差距. 题意:给出m, p, a, b,然后xi满足已下两个公式, 求 xp1 + xp2 +...+ xpm 的最大值. 1.-1/sqrt(a) <= ...