与vim的一段往事
这就要从大学里面学c语言说起了,那个时候我们还在用古老的 visual c++ 6.0(满满的回忆有木有……),不过我唯一的印象只剩下了,嗯,这个东西真的很丑很难用,不过还好,不久就有了 visual studio 2010,好看是好看了,但是好像卡得不行,也不知道是 windows 的锅呢,还是 vs 的锅呢,还是我电脑配置太低,anyway,这些都不太重要,反正那个时候对 IDE 没有什么好感,再加上英语也不太好,那些软件又都是英文,就更不想用了……
后来呢,进了一个实验室,发现大家都在一个黑白的终端下面写代码,所有的操作都通过键盘完成,完全不用鼠标,当时我都惊呆了,这和电视里面演的黑客不是一模一样么,瞬间觉得那些 IDE 简直 low 爆了,真正厉害的黑客是不用 IDE 的(当时天真的想法……)。Vim —— Text editor of the Gods,正是我想要的。
于是开始读vim的书,查相关的资料,记各种快捷键,装各种插件,折腾我的 vimrc。为了用上更纯粹的 vim,我装了双系统;为我的 chrome 装了 vim 插件;在 win 系统下用 vim 整了一套开发环境。远离鼠标!拒绝 IDE!很快我就在 vim 的使用上面小有成就。
然而一直有一个问题我没有解决,但是我相信和其他问题一样,很快就能找到答案。这个问题就是,我想做到像 IDE 那样的智能代码提示,以及函数的调用以及声明的跳转。我查了好多资料,尝试了很多方案,最后好不容易是有提示了,但是提示的内容只是这个文件中出现的其他标识符,也有点用,但是和我想要的还差很远;然后又继续尝试,功夫不负有心人,终于找到了标准库的代码提示,然而只能提示标准库,我自己写的类并没有用;然后我又继续尝试,然后时间一天天过去,并没有什么进展,渐渐地也就没有太大的兴趣了,现在这么用也挺好,真正的黑客是不依赖 IDE 的提示的。而函数跳转的那个问题也类似,一直也没有找到一个完美的解决方案。
后来开始学 java 了,作为 vim 的脑残粉,肯定是要用 vim 来写 java 的,没有代码提示,没有函数跳转,没有编译调试环境,无形之中给自己增加了好多难度,但是老师可不会等我把这些都整明白了再教,没办法,最终还是很不情愿地随了大流,用了 eclipse。
后来终于毕业了,看到公司里大家都在用 vim,我就放心了,这里这么多大牛,困扰我好几年的问题应该能很快就解决了吧。然而……,我发现,我竟然是这里面用 vim 用得最熟练……,也不知道是该高兴呢,还是该忧伤……
省吃俭用的工资终于够买 Mac,第一件事情,就是配置好 vim。然后果断放弃 windows,开始折腾新的 Mac。发现 Mac 上自带的 xcode 做得还挺好看的,关键是还能写 c++,然后就试了试,感觉还挺爽,关键是有错误直接就能看出来,不像之前用 vim 那样写了一大堆,尝试编译一下,跳出几十个错误;智能提示也很友好,好多之前没用过的函数被提示出来才知道,原来还有这么方便的函数,之前我都用别的方式自己实现了一下……;按住 cmd
键就能很方便地跳转到函数实现的地方,再也不用从一堆文件里面去猜,这个函数可能是在哪里实现的了。尝到甜头之后,开始尝试把公司的项目往 xcode 上面迁,结果开发效率有了极大的提升,而更关键的是写代码变成了一件愉快的事情。
现在,基本我所有的代码都用不同的 IDE(xcode, goland, ideal, pycharm, sublime text 3, webstorm)开发完成。而曾经那么迷恋的 vim,有时候在服务器上写一些临时的脚本,也还是会用一用的。
讲真的,鼠标和 IDE 都是非常伟大的发明,把人从繁复重复无聊的工作中解放出来,让人的精力集中在更具创造力的地方,极大提高了生产效率,推动了整个行业的快速发展。而 vim 作为上一个时代的效率的代表,也曾经那么光彩照人,也是时候功成身退了。
科技在进步,时代在向前,虽然我也是一个怀旧的人,但也不想被潮流甩开太远。
转载请注明出处
本文链接:http://hatlonely.github.io/2018/01/21/与vim的一段往事/