vim和emacs的强大在于他们的可定制性,只要你愿意,完全可以以它们为基础,打造自己的ide,当然,改造成游戏机或者浏览器也都能办到。
(这个配置是完全基于脚本的,就是说,你可以用U盘带着你自己熟悉的ide到处乱跑了……我无法想象用U盘带个插上就能用的VS……)
并且,在配置的过程中,能学到很多细节,甚至于“本质”的一些东西。
抛开其他的不说,ide容易让人产生依赖心理,并且隐藏了太多的细节。
/****************************************************************
为什么 UNIX 程序员不用 IDE?明白了这个道理你就能体会到 UNIX 的设计思想了 。首先,一个 IDE 集成了编辑器,编译器,汇编器,调试器,跟踪器…… 这个编辑器 功能 肯定比不上 VIM 或 Emacs,编译器比不上 GCC,汇编器比不上 as,调试器比不上 gdb, ddd, 跟踪器比不上 strace, ltrace, truss。你得到的是一套整合的低能的程序 。如 果你对调试器的功能不满意,你只好换用另外一套 IDE,但是这套 IDE 的热键, 菜单, 编辑器功能,按钮…… 跟原来那个有很大不同。你不得不花很多时间来熟悉新的 环境, 而不能保持原来的某些东西。
而在 UNIX 下就不一样了。你可以用你最喜欢的 VIM 编辑程序,你在 VIM 里可以 调用GNU make,make 可以调用 gcc, ld, ... make 的出错信息可以被 VIM 捕获,VIM 能 帮你在源程序里定位。你如果喜欢 icc, 你可以让 make 用 icc 而不是 gcc。你 如果 觉得gdb 跟踪变量时比较麻烦,你可以用 ddd 来显示各种数据结构之间的关系。 你还 可以在Emacs 里调用 gdb,那样就可以同步显示源代码了。而且 VIM 和 Emacs 还可 以编辑很多其它东西,比如信件,LaTeX 文档,HTML,配置文件…… 你不用另外 找一 个什么编辑器来干这些杂活了。很多程序比如 Mutt, tin 都可以在内部使用 VIM ,这 样就更方便了。
摘自王垠《完全用Linux工作》
************************************************************/
每种 IDE 都有自己的热键定义,不同的高亮显示,不同的语法风格.换一套 IDE 意味着 每次都需要花大量的时间去学习和适应不同的开发工具,去使用且限于IDE所提供的功能.
VIM 和 Emacs 的优势在于,可以自己动手,DIY 一个最适合自己感觉的开发环境,这个环境是最适合你自己的。当然,开始入手稍微难了一点,学习曲线比较陡峭,但是过了这个门槛就会感觉到它们的妙处了。
不是理由的理由,VIM 和 Emacs 还是免费的,某些 IDE 是要花钱的。
其实,爱用 IDE 就用 IDE, 爱用 VIM 或 Emacs 就用 它们俩,只要自己感觉就好。
************************************************************/
举个简单的例子,当你用ssh远程时,就只能用vi来编写文件了。
因为 linux下没有 VS...
************************************************************/