使用Sublime一周有余,感觉到一种前所未有的畅快,再也不用被蹩脚的编辑器缚手缚脚了。想到先前走过的各种弯路,觉得特有必要来抒发一下感想,刚好又是很久没写文字,正好作为练笔。
在Linux coder的世界里,长期流传着关于代码编辑器的一些神奇言论,这些言论在自夸之余,也不乏对Windows Coder的鄙视,例如:
- 世界上只有三种编辑器,分别是Emacs,Vim,和其他编辑器
- Vim是编辑器之神,Emacs是神之编辑器
- Emacs是真正黑客所用的工具,学会了Emacs,你就领会到了黑客精神的精髓
- Vim是编程之禅,长修此禅,必臻大道
如果说前面两条的言论还只是工具之争,后面则是上升到了哲学的高度,似乎不学会这两个中的一个,都不好意思自称码农了。
然而作为被鄙视的一方,也就是“其他编辑器”的使用者,一般是windows下的码农,却从不care这种言论。在他们看来,花费大量时间,只是学习怎么用一个编辑器,简直是丧心病狂。在windows的世界里,自然有各种厂家提供好的IDE环境,拿来用即可,为什么还要重新发明轮子?至于编程之禅,黑客之道云云,windows coder自认写代码只是糊口的职业,此生不敢望达到宗师级别。
于是两个世界各行其是,井水不犯河水。
世事难料,曾经的霸主Windows日簿西山,而Linux在服务器端大有一统江湖之势。同时Android,IOS蒸蒸日上,这两者背后的操作系统都是类Linux家族的。所以原有windows下的开发人员,不可避免的要涉及开发在Linux下运行的程序的任务。
这时该选择什么IDE呢?从头学起Vim和Emacs吧?学习曲线漫长而陡峭,项目工期又紧,明显不现实。取巧的办法是先在Windows下编写,再到Linux下编译。所以我们看到很多程序员的电脑,都会装一个Linux的虚拟机,每次在windows下写完代码,再拷贝到linux下编译。
这种方法一般够用,但是每次拷贝文件,效率不高,也容易出错。而且windows上又开虚拟机,系统运行也慢。
有没有一种IDE,既可以跨平台运行,又不要有陡峭的学习门槛,还能满足高度的可定制化?
Sublime的诞生,适逢其时。Emacs和Vim虽然优秀,毕竟年代久远,很多有悖于日常习惯的设计并非是有意为之,而是受当时硬件条件的制约。今天再把这些设计奉为圭璧,未免迂腐。真正优秀的地方是他的高度可定制化和浩如大海的插件。然而这些插件散落在网络的各个角落,需要使用者一个个的手动安装,也不利于集中管理。
在我看来,Sublime正是一款博采众长,取其精华,去其糟粕的现代编辑器,首先他极易上手,像我这个菜鸟只花了一个下午,就可以像在windows的IDE那样熟练看代码。它拥有庞大的插件库,用户却不需要自己去网络上寻找,只需通过"packet control"这个统一的插件管理器,安装和卸载都非常方便。最妙的是也不需要记住那些插件的使用快捷键,只要记得插件的名称,就可以通过命令窗口调用。当然,如果你对现有的插件不满意,同样可以像在Emacs或Vim那样自己DIY一个。它还是一款跨平台的编辑器,在windows下一样可以使用。另外,这是一款收费软件,但你完全不用担心使用问题,即使你没注册,它也只是友好的隔一段时间提醒你是否要注册,至于功能,则完全不受影响。
说了这么多,推荐几款自认为好用的插件
- packet control
是的,这是插件管理器,但它本身也是插件,也是每个sublime使用者必装的插件 - REPL
这是一个小型的集成调试运行环境,通过它你就可以直接编译运行自己的代码了 - cscope/ctags
这就是Linux下大名鼎鼎的源码索引工具,通过它你就可以实现类似SI那样方便地阅读代码了 - Markdown Edit/preview
这是辅助书写Marddown格式文本的工具,不必解释。