VIM的优势在哪里?
??优势在于: (1)编辑文本时能完全做到不依赖于鼠标。VIM环境下,用户对文本文档(特别是源码文档)的编辑,具有较高的效率(当然,这需要一点点(大概30分钟)的学习时间来适应); (2)VIM具有极强的可扩展型,用户可以通过快捷键映射、利用VIM脚本语言进行插件开发,无限扩展VIM在各个领域的功能,VIM对于高级用户来说,这是通向自由王国的必由之路。 正是由于VIM的第(2)个优势,使得vim用户对它产生了许多幻想,即通过插件安装配置,使得VIM变成一个无所不能的应用程序集成开发环境(IDE)。 于是,一些大神为此贡献了许多有名的插件,例如:Vundle(管理其他插件的插件)、NERDTree(目录与文件浏览插件)、vimspector(通用调试器前端插件)、youcompleteme(通用代码自动完成插件)等等。 利用VIM扩展性强的优势,开发和使用各种开源VIM插件,无疑为vim爱好者增加了不少想入非非的空间,VIM能取代各种IDE吗? 我的看法是: (1)VIM不能取代IDE; (2)VIM完全可以作为IDE的“贤内助”。 下面,我以个人的经验,来总结一下VIM相比与一般意义上的IDE的局限性。
VIM与常见的IDE的优劣对比
常见的IDE,往往有侧重的,例如,eclipse,侧重于java(当然通过安装插件也支持其他编程语言),codeblocks侧重于c/c++编程,intellij idea只适用于java,qt侧重于跨平台的c++ gui开发。由于有侧重,这类IDE在其侧重的语言上优化得很好。 VIM与他们相比,主要在如下几个方面存在劣势: (1)代码自动完成。 (2)程序调试辅助。 (3)项目管理。 当然可以使用vim脚本扩展来实现类似于IDE的功能,但这个工作量是非常大的,而且,IDE的有些功能还是需要鼠标和图形用户界面的,这是vim脚本的劣势。
结论
VIM的优势在于通用性、文本操作便利性、脚本扩展,而这在另一个角度来看,又成为劣势,通用性强,意味着需要配置的参数较多,这对于一般的学习者,上手难(甚至安装一个插件,都变成了难题)。文本操作便利(不用鼠标,意味着在需要GUI时,可视化时不太方便),脚本扩展性强,意味着要学习vim脚本语言,才能开发插件。 IDE的优势在于,它对于项目的管理是傻瓜式的,开发者不需要关系项目中各个文件的信息和关联信息是如何保存的,而只需要把注意力集中在源码的开发上,IDE集成了编译、调试前端的功能,以可视化的方式提供给开发者,比纯文本、界面单调的VIM要好很多。 因此,VIM无法取代IDE,但可以做好自己,称为IDE的“贤内助”。
|