mac 上用 vim 开发 c/c++,求推荐 vim 配置 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
harry890829
V2EX    Vim

mac 上用 vim 开发 c/c++,求推荐 vim 配置

  •  
  •   harry890829 Oct 28, 2015 9571 views
    This topic created in 3837 days ago, the information mentioned may be changed or developed.

    现在用的 spf13 但是他整合的太多了……有没有针对 c/c++的?

    Supplement 1    Oct 29, 2015
    我现在用的就是 spf13 ……其他都没什么问题的,就是遇到一个 bug ,但是他又写的非常蛋疼,我不知道怎么办了……
    遇到的情况是这样的:
    在插入模式下写一个函数, YCM 弹出提示框,使用 Tab 选词之后 vim 上就已经插入了我选择的函数名( YCM 的选词框还在),这时使用 esc 退出插入模式,就会出现,再次进入插入模式,而且刚才用 Tab 选好的函数名没了,界面上只剩下我手工输入的字符。
    后来我尝试了下,如果我在用 Tab 选词之后, YCM 自动插入了我选中的函数,我再输入一下别的东西,这使得选词框消失,这样再 esc 就不会出现问题了。
    感觉好像是 YCM 在关闭选词框的时候,按键和 spf13 设置的快捷键冲突,不知道是否是这样的……现在每次 Tab 选词之后都是输入一个空格,然 esc 再 x 掉空格了……简直蛋疼的一逼
    59 replies    2016-09-16 19:12:00 +08:00
    tyfulcrum
        1
    tyfulcrum  
       Oct 28, 2015
    Xcode + XVim ,不想折腾的话这个是坠吼地
    iShao
        2
    iShao  
       Oct 28, 2015   1
    坠吼地 这又是什么鬼

    有人造吗
    htfy96
        3
    htfy96  
       Oct 28, 2015
    没办法啊。。。说实话 cpp 还是必须要上 YCM ,这个一上就轻不了了
    wklken
        4
    wklken  
       Oct 28, 2015
    YCM 的确折腾, 但是配好会觉得超值:)
    alexapollo
        5
    alexapollo  
       Oct 28, 2015
    kran
        6
    kran  
       Oct 28, 2015 via Android
    目前用 ycm 凑合着,还在寻找更好的办法
    secondwtq
        7
    secondwtq  
       Oct 28, 2015
    @htfy96 YCM 最折腾的地方是这货和 LLVM , Python 环境耦合了

    偏偏我还就喜欢没事折腾这两个货
    secondwtq
        8
    secondwtq  
       Oct 28, 2015
    多说一句,用过 CLion 以后,感觉是 YCM 这种颠峰之作再怎么都赶不上的,就是 13 寸 MBP 跑着有点吃力。

    所以最好的 vim 配置就是... 《 vim 实用技巧》 :)
    halfcrazy
        9
    halfcrazy  
       Oct 28, 2015
    spf13
    jonah
        10
    jonah  
       Oct 28, 2015
    CLion 卡成狗,用不起来。可用性跟 idea 没法比。
    halfcrazy
        11
    halfcrazy  
       Oct 28, 2015
    @halfcrazy 手滑了, spf13 把不要的去掉。
    linux40
        12
    linux40  
       Oct 29, 2015 via Android
    。。。不推荐,世界上所有补全插件就算配置好了,编译器一升级,你还得改路径。。。虽然我没配置好过。。。还有 vim 如果不配置快捷键的话会打很多字,快捷键一多我又记不住。。。
    neutrino
        13
    neutrino  
       Oct 29, 2015 via Android
    装 windows 上 vs
    heliar
        14
    heliar  
       Oct 29, 2015
    @tyfulcrum + 1
    pzhjie
        15
    pzhjie  
       Oct 29, 2015
    @iShao 最好的,长者的名言
    smartdie
        16
    smartdie  
       Oct 29, 2015
    vim 这玩意就是自己磨合出来的,别人的配置拿过来还用 vim 干嘛,直接上 ide 了
    griffinqiu
        17
    griffinqiu  
       Oct 29, 2015
    vim 这玩意就是自己磨合出来的,别人的配置拿过来还用 vim 干嘛,直接上 ide 了
    + 10086
    wezzard
        18
    wezzard  
       Oct 29, 2015
    Xcode is your friend.
    Fechin
        19
    Fechin  
    PRO
       Oct 29, 2015
    Fechin
        20
    Fechin  
    PRO
       Oct 29, 2015
    +10086
    j16ZgMV9cs6ZB23n
        22
    j16ZgMV9cs6ZB23n  
       Oct 29, 2015 via iPhone
    harry890829
        23
    harry890829  
    OP
       Oct 29, 2015
    @tyfulcrum xcode 现在对 c++开始友善起来了么?传言以前对 c++的支持非常不好……
    harry890829
        24
    harry890829  
    OP
       Oct 29, 2015
    @htfy96 ycm 很不错的,我很喜欢,轻倒是无所谓,但是 spf13 用的 vim 脚本代码太复杂……要是一般的 vimrc 我自己也知道怎么改一下,但是他这个好像出现按键冲突之后,我就傻眼了
    harry890829
        25
    harry890829  
    OP
       Oct 29, 2015
    @secondwtq 记得还有个 neocomplete ,也很不错的, spf13 推荐过
    harry890829
        26
    harry890829  
    OP
       Oct 29, 2015
    @halfcrazy 不知道怎么修改 spf13 复杂的 vimrc ……
    harry890829
        27
    harry890829  
    OP
       Oct 29, 2015
    @alexapollo
    @wubaiqing
    @chilledheart
    谢谢各位发出来的 vimrc ,我晚点仔细的看看,实在不行就周末的时候,把 spf13 删掉,然后按照他的插件列表把我需要的一点一点装上……
    iShao
        28
    iShao  
       Oct 29, 2015 via Android
    @pzhjie
    小心被续
    Goooogle
        29
    Goooogle  
       Oct 29, 2015
    vim 需要自己配置,至少要知道每部分是干什么的,然后磨合。

    个人目前用到的针对 C/C++的就下面两个:
    YouCompleteMe :可以和 eclim 一起用,在 vim 实现 eclipse 中的补全提示。
    SrcExpl :用于阅读源码,实现类似 Source Insight 的功能,当光标定位到函数名上时,在下方显示到该函数的定义位置。

    通用辅助型:
    Mark :用不同颜色标记不同字符串,可以在变量特别多时标记变量,思路更清晰。
    Syntastic :在码的过程中语法检查,在有语法错误的地方提示,不用等到编译时。
    CtrlP :类似 Sublime Text 的 Ctrl-P 快速打开文件功能,支持路径名文件名模糊匹配。
    RainbowParentheses &&  DelimitMate :分别是不同层级的括号以不同颜色区分、括号引号自动补全。
    Snipmate :快速插入代码片段。
    Nerdcommenter :快速注释、取消注释。
    NerdTree :类似 IDE 左侧的文件目录树。
    IndentLine :标记不同的缩进层级。

    还有一个 Vundle ,管理插件的插件。


    个人的 vimrc 配置,比较乱。
    https://github.com/wu-nerd/dotfile/blob/master/.vimrc
    valuedlute
        30
    valuedlute  
       Oct 29, 2015
    楼主我也有这个问题啊!!!!真的超级烦。
    不知道为什么我在服务器上的配置没问题,在自己电脑就有这个问题。
    htfy96
        32
    htfy96  
       Oct 29, 2015
    @Goooogle SrcExpl 有什么 YCM 不具有的功能吗?看起来好像都是跳转 :Youcompleteme GoTo Declaration 也行吧?
    allenzhong
        33
    allenzhong  
       Oct 29, 2015
    allenzhong
        34
    allenzhong  
       Oct 29, 2015
    https://github.com/allenzhong/janus

    这个是我个人从 janus 那边 fork 过来的,虽然我自己是做 ror ,但是 janus 本身已经提供了很好的模板,稍加改动再添加一些插件就可以很好的应用

    我在博客里面也写过一些关于 vim 的配置,可以看看
    http://talkcool.info/?p=205
    http://talkcool.info/?p=251
    firemiles
        35
    firemiles  
       Oct 29, 2015
    @Goooogle YCM 和 SrcExpl 一起用不冲突吗,我当初两个一起用 SrcExpl 不能正常工作,所以把 YCM 换成 clang-complete 了
    feuvan
        36
    feuvan  
       Oct 29, 2015
    CLion
    别折腾了
    实在要 vim 就 clang-complete
    zonghua
        37
    zonghua  
       Oct 29, 2015
    你们这么费心费力去折腾配置工具,对编程技术有什么提高吗?

    via 轮子哥
    halfcrazy
        38
    halfcrazy  
       Oct 29, 2015   1
    @harry890829 .vimrc 里面有很详细的注释,简单来说你只要把 spf13_bundle_groups 里的你觉得用不到的去掉就可以。补全 tab 的问题可以试试加上这么一行 iunmap <Esc>
    harry890829
        39
    harry890829  
    OP
       Oct 29, 2015
    @halfcrazy soga ,我还是太年轻了……我赶紧去试试看你说的这个代码
    harry890829
        40
    harry890829  
    OP
       Oct 29, 2015
    @halfcrazy 太感谢了,加上这行就解决了,吼吼,晚点我删减一些我用不到的插件就好了,多谢~
    harry890829
        41
    harry890829  
    OP
       Oct 29, 2015
    @Goooogle 多谢这么详细的说明, spf13 中有些插件很不错,但是有些插件根本用不上,我稍后自己慢慢修改……
    harry890829
        42
    harry890829  
    OP
       Oct 29, 2015
    @mickeyandkaka 什么问题?是我附加里面说的 esc 的问题?还是不知道怎么配置自己的 vim ?如果是前一个问题的话,@halfcrazy 说的一个命令非常好用,直接就好了,后面一个问题的话,就只能看看大神们的推荐了,要么和我一样用 spf13 的
    harry890829
        43
    harry890829  
    OP
       Oct 29, 2015
    @zonghua 让自己生活过的舒服,是一个本能,让自己写代码写的舒服,应该也是程序员的本能吧……
    ethan89
        44
    ethan89  
       Oct 29, 2015
    https://github.com/Ethan89/use_vim_as_ide
    里面有提到一些 YCM 的。不知道有没有用
    ethan89
        45
    ethan89  
       Oct 29, 2015
    @zonghua V2EX 也有轮子哥?
    erenno1
        46
    erenno1  
       Oct 29, 2015
    jsfaint
        47
    jsfaint  
       Oct 29, 2015
    来用我的 vim 配置吧~~
    多平台通用(windows, linux, osx)
    主要做 C/C++开发,偶尔 web ,以及 python

    https://github.com/jsfaint/vimcfg
    harry890829
        48
    harry890829  
    OP
       Oct 29, 2015
    @ethan89
    @erenno1
    @jsfaint
    三位给出的都很棒,双休日慢慢看下,然后准备调整一下我这里的配置,多谢各位
    skydiver
        49
    skydiver  
       Oct 29, 2015
    @erenno1 https://github.com/jsfaint/vimcfg/blob/master/_vimrc#L46 这一行是不是 disabled 拼错了。。
    skydiver
        50
    skydiver  
       Oct 29, 2015
    @erenno1 不好意思,爱特错了。。抱歉
    skydiver
        51
    skydiver  
       Oct 29, 2015   1
    @jsfaint https://github.com/jsfaint/vimcfg/blob/master/_vimrc#L46 这一行是不是 disabled 拼错了。。
    Changxu
        52
    Changxu  
       Oct 29, 2015
    spf13 是个很出名的 vim 配置
    harry890829
        53
    harry890829  
    OP
       Oct 29, 2015
    @Changxu 是啊,用的人多了,自然兼容性就要好,太复杂了……(其实就是一个 bug 搞得我烦躁不安,结果解决了,晚点再花时间自定义一下~)
    jsfaint
        54
    jsfaint  
       Oct 29, 2015
    @skydiver 哈哈,还真是拼错了。实际上我的平台上都是全插件,所以一直都没发现。感谢!
    Goooogle
        55
    Goooogle  
       Oct 29, 2015
    @htfy96
    SrcExpl 会直接下方的 Split 窗口显示定义外的代码
    https://camo.githubusercontent.com/719788433c69f63f804d3223c70d3e7cd39149b1/687474703a2f2f692e696d6775722e636f6d2f626247564f2e6a7067
    和 Source Insight 一致,不仅仅是跳转。
    Goooogle
        56
    Goooogle  
       Oct 29, 2015
    @firemiles 不知道你说的是什么冲突, Tab 么?
    firemiles
        57
    firemiles  
       Oct 30, 2015
    @Goooogle 光标进入 SrcExpl 窗口后, YCM 会自动提示窗口内的代码,然后移动一下就光标返回到页面头部,不能正常浏览。这是 github 上的[issues]( https://github.com/wesleyche/SrcExpl/issues/6)
    Goooogle
        58
    Goooogle  
       Oct 30, 2015
    @firemiles 这个好像没碰到过
    很长时间没有用 SrcExpl ,也可能是我忘记了
    HmyBmny
        59
    HmyBmny  
       Sep 16, 2016
    https://github.com/HmyBmny/vimrc
    一键配置,功能强大, YouCompleteMe 支持
    About     Help     Advertise     Blog     API     FAQ     Solana     922 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 103ms UTC 22:46 PVG 06:46 LAX 15:46 JFK 18:46
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86