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

偶然查资料看见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开发UI-利用Quartz2D 实现基本绘图(画三角形、矩形、圆、圆弧)

    1.画三角形  运行结果如下 1.1具体实现步骤 1.1.1首先新建一个project,然后自定义一个view 1.2代码 #import "htingShapeView.h" @ ...

  2. 更新mac自带的python

    mac lion自带的python是2.7版本的,有点儿低,要使用一些应用的时候还需要3.3以上的,这时可以用以下的方法更新mac自带的python. 先去python的官网下载最新的python,并 ...

  3. phonegap platform add ios 出错的问题

    在Mac上新安装的Phonegap,版本3.3-0.18.0. 本来创建项目后按教程: http://docs.phonegap.com/en/edge/guide_platforms_ios_ind ...

  4. [Effective C++ --031]将文件间的编译依存关系降至最低

    引言:编译时间成本 在项目中我们都会碰到修改既存类的情况:某个class实现文件做了些轻微改变,修改的不是接口,而是实现,而且只改private成分. 重新build这个程序,并预计只花数秒就好,当按 ...

  5. android:layout_weight总有你不知道的用法.

    都知道weight是权重的意思. 在布局中起到非常重要的作用. 但是这玩意不能嵌套使用, 而且只能使用在LinearLayout中. 下面说说它的几种用法(以下例子全为横排 注意android:lay ...

  6. 使用hibernate自动创建Mysql表失败原因

    1.使用 schemaExport(hibernate5.2.3)创建Mysql表 @Test public void testSchemaExport() { ServiceRegistry ser ...

  7. python分页和session和计算时间差

    分页 #!/usr/bin/env python # -*- coding:utf-8 -*- class Pagenation: def __init__(self,current_page,all ...

  8. DataTables warning (table id = 'myTable'): Requested unknown parameter '0' from the data source for row 0

    第一种方式:不用在js里设置列Html: <table id="myTable"> <thead> <tr> <th>Title-1 ...

  9. Curl上传文件

    curl -v -XPOST -H /thumbnail

  10. Android 自学之网格试图(GridView)和图片切换器(ImageSwitcher)功能和用法

    网格试图(GridView)用于在界面上按行,列分布的方式来显示多个组件. GridView和ListView有共同的父类:AbsListView,因此GridView和ListView具有一定的相似 ...