本人主要使用 visual studio 2019 和 2022 加上 vsvim 插件从事 C++开发,vs 的补全和纠错做的还是非常出色的,不过我一直想尝试使用纯 vim 或者 neovim 进行开发,但是遇到一个痛点无法解决,公司平台大量依赖 Qt+ACE 框架,工程化主要以 Qt 而非 CMake 进行管理,在 vim 下尝试使用 ccls 、clangd 作为后端 lsp ,效果都很不理想。

Qt 确实不太行,moc 啥的本身 lsp 支持都不算好。而且代码库大了之后 lsp 占的内存和 CPU 反而比 vs 要更高。

用的 qmake ?印象里能生成 compile_commands.json 吧,不太确定。

给个通用的解决办法:
github.com/rizsotto/Bear
支持从 makefile 的编译过程录制 compile_commands.json ,然后搭配 lsp 就行

是的 bear 我也尝试过,都效果不是很好

是的

公司有大佬是直接使用 vim 或者 emacs ,就单纯当编辑器使用,也不需要补全啥的,但是我感觉我是记不住那么多东西,还是比较依赖补全

没必要折腾

程序员已经很不容易,对自己好点。

clangd 、ccls 有啥问题?我们全公司用的 vim\emacs 开发,好多年了。

你们那是高手,楼主这不还是在进阶的路上,要寻求帮助嘛

不过我一直想尝试使用纯 vim 或者 neovim 进行开发
尝试后,不适合自己 / 不符合自己的习惯,那就可以跳过了。用自己习惯的一套即可。

先考虑迁移到 cmake 吧,qmake 感觉已经很少用了。
本站网友开发的 xmake 也挺不错。

人生苦短, 非必要不折腾

没必要在工具上折腾,啥方便用啥,啥熟悉用啥。

没必要创造需求,除非能带来效率的极大提升

没必要,对自己好一点,以最快的速度完成老板派的活最重要,至于用什么工具,没人 care

浪费时间折腾配置、工具……意义不大,还不如拿一个开箱即用的

楼主说“效果不太好”但是也没说具体哪里不好

感觉更像是在讨论 HiFi 而不是讨论技术

用编辑器的 vim 插件就好了,用纯 vim 有什么收益? 浪费时间,编辑器好不好用一大部分在于插件的生态,vim 自己的插件做文本编辑没有问题,折腾 IDE 特性就是浪费时间了

www.qt.io/blog/introducing-qmake2cmake

可以转换成 cmake,不过转到 vim 倒是看不到必要性, vs 宇宙第一不是吹出来的,只有 clion 可以碰瓷一下.

效果都很不理想

你所期望的效果是怎么样的?
据我所知 clangd 提供很多效果不错的功能,前提是你的 compile_commands.json 要正确。参考连接: zhuanlan.zhihu.com/p/520720943

如果公司平台是 qt ,那用 qt creator 啊

完全没有这个必要,IDE 打开 vim 模式就好了,纯 vim 是落后的方式。 自己搞后端,智能建议、补全不会有 IDEA 、vs 做得好。

真正不纠结工具的也不会去评论别人用什么工具有什么不好的,更何况绝大多数人也没见过使用 vim 的天花板。

纠结工具,纠结语言,纠结框架都是最 low 的想法

没必要折腾

vim + supertab + leaderf 基本足够了,补全啥我不折腾了

多大的项目呢?

C++ 的话 ctags 我觉得挺好了,没必要一定要折腾 lsp 。

没怎么用过 C++ 的 LSP ,但貌似 CLion 的补全,也是基于 clangd 来实现的。所以楼主这个情况,是只能用 VS 了吗

纯 C 项目可以,C++还是算了吧,qtceator 挺好的,工具只有合适的,没有最好的

不合适,非常不合适。
工程的东西真不适合用 VIM 管理,那 tm 是人干的事么?

为什么要使用纯 vim 或者 neovim 进行开发?把这个问题想明白,就不会纠结用什么工具了。

scons/bazel 也会遇到 lsp 不太准的问题,lsp 不准就 ctags/gtags 完事

最主要的是响应慢,卡顿

我从 2014 年到 2019 年一直在用 emacs 编码,纯 emacs ,尝试过这种方案,学过 elisp 。

我在 2019 年的时候体验了一把 vs2019 的多线程调试,以及 vs 的图形 frame graph 抽帧调试以后,感觉我自己简直就像个傻逼。以前用 emacs 就为了装逼,白白浪费了自己的生命。vs 真的很好,vs2022+resharper 让我的效率至少提升了 20%,错误率也减少了 20%,debug 效率我估计至少提升了 50%。

还有一个说法是用 vs 太卡了,用编辑器更轻量级,我的建议是让老板换电脑,2022 年了,开 ide 卡的电脑还是算了吧。

折腾 vim 虽然上限很高,但是投入产出比太低,直接用 ide 省心省力,性能问题应该由机器配置来解决。

对于工业级产品开发,vim 最适合的是作为插件集成在 ide 中,而不是自开发个性版 ide

当然怎么做是人的自由

vim 这个前提是得很熟源码

大型 CXX 一直都用 VIM ,很爽。

为啥不用 CLion 。vim 和 VS Code 就是一个编辑器,大型项目应该用 IDE 。