经过以上调教,你的 vim 已经成为非常舒适的 C/C++ 开发环境呢。等等,重装系统后又得折腾一次?不怕,除了 clang 等等几个需要源码安装的工具外,基本上,vim 的插件和相关配置文件你可以提前备份好,装完系统后恢复到对应目录中即可,丝毫不费脑力。
2011 年 9 月我写了篇《拼装的艺术:VIM 之 IDE 进化实录》,原计划近期(2014-09)更新下智能补全部分,后来越改越发觉原版问题太多,加之各插件推陈出新、自己对 VIM 的认识加深,索性完全重新。期间,与很多朋友有过交流,有三类问题探讨得最频繁,我的观点简要阐述如下,后续不再欢迎、理会、回复相关问题:
- 为何不用 Code::Blocks 这类一站式 IDE?每个人的做事的出发点、性格观念千差万别,我不想拿 Linux kernel 是 linus torvalds 用 microemacs(Emacs 变种)开发的来说事儿,就我而言,迷恋 VIM 的高效编辑能力、无限扩充能力,这是其他编辑器无法超越的。此外,我享受的是过程,不是结果!
- 哪个是最适合编码的编辑器?Linux 上存在两种编辑器:神之编辑器 Emacs,编辑器之神 VIM。关于 Emacs 与 VIM 孰轻谁重之争已是世纪话题,我无意参与其中,在我眼里,它们流淌着自由的血液、继承着创新的基因,作为顶级编辑器,二者在这个领域都作到了极致,让世人重新认识了编辑的本质 —— 用命令规则而非字字键入 —— 去完成编辑任务。Emacs,伪装成编辑器的操作系统,太杂、太重,我更喜欢专注于编辑的 VIM。
- 怎样的 IDE 才算好?对于初入开发的人员而言,Code::Blocks 是最易上手的选择;对于我这类喜欢折腾、追求效率、愿意用脑力换体力的人来说,VIM 搭配各类插件是好的 IDE;对于 Donald Knuth 这等宗师,他们站在整个系统的层面,bash 加上几个命令行工具也是某种意义上的 IDE。所以,只要你能得心应手地完成软件开发任务,又察觉不到工具的存在,那这就是最适合你的 IDE。
末了,写作的过程,是知识体系完整重构的过程,理清了思路、加深了记忆。如果它再能引发你一点思绪,或许,这就是价值!