IDE可以为你把你经常做的繁琐事情提供捷径。并且针对具体的语言或者框架有自己的优化。
比如我写Java Code经常用Eclipse和Intellij来完成重构,在某个函数的作用域内修改变量名字,找到实现某个interface的所有类,自动生成JavaDoc的注释,让它自动帮我分析可以但是忘记加的annotation比如@Override,甚至修改类名并且同时修改文件名,修改类所在的包同时移动文件等事情。
比如我写Objective-C,我要使用UIBuilder来设计xib或者storyboard文件……
这些事情,不是emacs或者vi做不到,只是对某个特定语言的特定功能,肯定还是IDE支持的更好。
Generality和Speciality不可兼得。
当然,写C++和Python(非Django)代码我一般都用vi。我自己的原则是,工具是不挑的,榔头拿来敲钉子,剪刀拿来剪纸,在有些时候,剪刀也可以敲钉子,但是工欲善其事必先利其器的一点就是,选好用具,然后用的非常熟悉,非常熟悉,非常熟悉。