skywind3000
V2EX  ›  Vim

Vim 8 下面如何搭建 C/C++ 开发环境

By skywind3000 at 2018 年 4 月 23 日 · 12552 次点击
Vim 8 下面如何搭建 C/C++ 开发环境

http://www.skywind.me/blog/archives/2084
41 条回复  •  2018-05-29 13:52:26 +08:00
defel
   1
defel  
   2018 年 4 月 23 日
Visual studio 不是很好用么,还有 jetbrain 全家桶,而且如果工程比较大感觉 Vim 管理挺吃力的。
abowloflrf
   2
abowloflrf  
   2018 年 4 月 23 日 via iPhone
最近正在学习写服务端的 c,马一下,感谢楼主
skywind3000
   3
skywind3000  
OP
   2018 年 4 月 23 日
@defel 我从来不拒绝使用 Visual Studio,但我主要 C/C++ 代码都是再 Vim 里编写的。
ladrift
   4
ladrift  
   2018 年 4 月 23 日 via iPhone
c 大重出江湖
congeec
   5
congeec  
   2018 年 4 月 23 日
看了下,不错
我补充两点
目前 YCM 没有能力重构,cquery, rtags, and clangd 能重构。建议用 clangd。小范围替换用 vim 自带的正则就够了
debug 么,目前没有很好的 gui 工具集成到 vim 里。用 cgdb 还不如裸 gdb 来的爽
q397064399
   6
q397064399  
   2018 年 4 月 23 日
很好奇是本人吗?知乎很活跃的大叔级牛逼程序员,在 v2 好像发言较少。
ppyybb
   7
ppyybb  
   2018 年 4 月 23 日 via iPhone
@q397064399 应该是,blog 和 github 都是这个名字
muziki
   8
muziki  
   2018 年 4 月 23 日 via iPhone
ycm 有点臃肿了 现在 lsp 越来越成熟
BBCCBB
   9
BBCCBB  
   2018 年 4 月 23 日
@muziki 老哥,lsp 是啥
BBCCBB
   10
BBCCBB  
   2018 年 4 月 23 日
dychenyi
   11
dychenyi  
   2018 年 4 月 23 日
牛。
不排斥别人用。我也一直用 vim 开发 c++。
插件加多了感觉就像是刷个谷歌原生安卓,装了一堆的插件,感觉真不如用广告 UI 了
但我觉得如果有桌面的话,适合个人称手的工具还是 IDE 吧。正好我是开发 qt,用 qtcreator 还有 vim 模式。
linux40
   12
linux40  
   2018 年 4 月 23 日 via Android
@BBCCBB language service protocol,微软出的,语言服务端提供索引代码的服务,编辑器直接调用。现在很多语言编辑器的体验和 IDE 差不多了,Java 除外。
zhuangzhuang1988
   13
zhuangzhuang1988  
   2018 年 4 月 23 日
@linux40 java 有的 eclipse/readhat 提供
cstj0505
   14
cstj0505  
   2018 年 4 月 23 日
强赞,去年整理下 vim 下的 c 开发配置确实太旧了
aaronzjw
   15
aaronzjw  
   2018 年 4 月 23 日
支持大佬, 用了一圈之后,最后还是用回了 vim
webfrogs
   16
webfrogs  
   2018 年 4 月 23 日
感谢,学习了很多~~
glues
   17
glues  
   2018 年 4 月 23 日
试了一圈补全,目前还是 YCM 最好用
justfly
   18
justfly  
   2018 年 4 月 23 日
感谢 知道了几个新插件 特别是 LeaderF
lzhCoooder
   19
lzhCoooder  
   2018 年 4 月 23 日
mark 学习一下,vim c/c++配置很久没动过了
ech0x
   20
ech0x  
   2018 年 4 月 23 日 via iPhone
@ppyybb 居然是本人吗?
valuedlute
   21
valuedlute  
   2018 年 4 月 23 日
mark
ACool
   22
ACool  
   2018 年 4 月 23 日 via Android
mark
ppyybb
   23
ppyybb  
   2018 年 4 月 23 日 via iPhone
@ech0x 我觉得是....
fyibmsd
   24
fyibmsd  
   2018 年 4 月 23 日   ❤️ 1
skywind3000
   25
skywind3000  
OP
   2018 年 4 月 23 日
@q397064399 是我,v2ex 上的不多,偶尔过来看看。
lzyfred
   26
lzyfred  
   2018 年 4 月 23 日
@fyibmsd 这个知乎帖很不错的
Em5O7B1JGfjQnBry
   27
Em5O7B1JGfjQnBry  
   2018 年 4 月 23 日
我觉得未来的趋势还是 LSP 诶,虽然现在还不算完美,C++的话还在用 YCM,其他的如 Haskell, Rust 已经完全用 LSP 了,体验好很多,关键是把所以语言相关的东西全都放给语言后端引擎来处理,就不需要去拼凑插件了。
lotem
   28
lotem  
   2018 年 4 月 23 日
「 2018 年了,用点新方法,网上那些 Vim 开发 C/C++ 的文章真的都可以淘汰了。」
skywind3000
   29
skywind3000  
OP
   2018 年 4 月 23 日
@svenFeng 可惜了 C/C++ 的几个 Server,clangd 功能不全,无法查找引用,cquery 还不稳定,经常出错,只有 YCM 还稳定点。
bp0
   30
bp0  
   2018 年 4 月 23 日
ALE 的问题是交叉编译时,老找不到头文件,而且还不像 YCM 那样可以定义项目用的 option。每次换项目都要改一次 vimrc 也是醉了。
skywind3000
   31
skywind3000  
OP
   2018 年 4 月 23 日
@bp0 不用吧,有基于 buffer 的选项的啊。
yazoox
   32
yazoox  
   2018 年 4 月 23 日
LSP 可以用在哪里呢?
linux40
   33
linux40  
   2018 年 4 月 24 日 via Android
@zhuangzhuang1988 你用它写 JavaEE ?能读一下数据库就给你把代码写好了?
linux40
   34
linux40  
   2018 年 4 月 24 日 via Android
@skywind3000 cquery 有一个 find references 很爽。
zhuangzhuang1988
   35
zhuangzhuang1988  
   2018 年 4 月 24 日
MeteorCat
   36
MeteorCat  
   2018 年 4 月 24 日
Clion,强势推荐,支持断点堆栈,能够用 GUI 来解决,没必要再 VIM 浪费太多时间,你是用来开发 C/C++,不是来学习如何用 VIM 开发 C/C++
ivechan
   37
ivechan  
   2018 年 4 月 24 日
受益良多,感谢
tyfulcrum
   38
tyfulcrum  
   2018 年 4 月 25 日
@fyibmsd 那个就是楼主……
Yggdroot
   39
Yggdroot  
   2018 年 4 月 25 日
赞,我也主要开发 c/c++, 看了后受益良多。
linux40
   40
linux40  
   2018 年 5 月 6 日 via Android
@zhuangzhuang1988。。。呃,好吧,java 用得少
MaskRay
   41
MaskRay  
   2018 年 5 月 29 日
可以来用我的 MaskRay/ccls 少了近 6000 行代码,更少 third_party。$ccls/memberHierarchy textDocument/definition workspace/symbol 一些细节有改进,cacheFormat 默认 binary 比 msgpack 更小,pipeline 简化但更不容易被保存弄坏

等待 LanguageClient-neovim/issues/293 autozimu 把这个 custom xref 接口弄通用点支持 $ccls/base 等
© 2026 V2EX · 86ms · 3.9.8.5