Vim/Vi明明就是IDE,为什么这么多人认为它是编辑器?

明明就不是IDE,不明白为啥有人非要认为它不是编辑器?Vim在开发的时候,本来就是一个Unix下和广大类Unix系统下的文本编辑器。Vim 官网是这样介绍的 "Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. "vim是一个高度可自定义的编辑器,用来高效的创建和修改任何一种文本。

人家开发者都说了vim是一个编辑器,你还挣扎什么啊。而IDE是集成开发环境,IDE软件除了有编辑器的功能之外,最起码还要有编译环境,调试环境,包管理软件,自动构建功能,项目管理功能,版本控制软件。这才是IDE和编辑器的本质区别。不是说有代码高亮和代码补全的就是IDE。只有集成了完整的各种开发功能的才叫IDE。

比如要开发一个java项目,比如说吧,spring项目。你可以自己去官网下载jar包,自己去建立好项目目录。自己用vim写好代码和配置文件。自己去用jdk编译。如果调试,再安装其他的调试软件。如果要用项目管理,自己去安装项目管理软件。需要版本管理,你就得自己装git.而一个ide,安装以后一切都搞定了。

比如idea,安装完成后,你选择新建一个项目,IDE会自动帮你生成目录,下载jar包,建立配置文件。编译工具,调试工具也都有,git也已经内置,你什么都不需要管了,全部集成,这个才叫做IDE.而Vim是并不具备这些功能的。最基本的vim甚至连代码补全,注释管理这些基本的代码编辑器功能都没有。当然,因为vim是一种信仰,有的非常多的程序员的喜爱,很多人为vim开发了各种插件,能实现各种功能。

Atom, Vim, Visual Studio Code, Emacs哪个好?

大家可以看一下Erich Gamma大神对于visual studio code的定位,visual studio code之所以能够成功,跟这个非常精准的定位也有最直接的关系。比编辑器更多、但绝对不做IDE做的事情,相对于编辑器多出的代码理解、调试功能,正是VSC成功的法宝。Visual Studio Code正在蚕食其他Editor和IDE的市场份额,VSC是一个非常现代化的文本编辑器,在2019年Stack Overflow年度开发者报告调查中,Visual Studio Code已经成为了全球最受欢迎的开发者环境,Facebook官方宣布Visual Studio Code将成为内部默认开发环境,非常大比例的Google工程师也开始使用Visual Studio Code,这是个大趋势。

Atom是干儿子命不好、斗不过Visual Studio Code亲儿子文本编辑器很多,Vim/Emacs是老牌文本编辑器,使用Unix/Linux、MacOS的开发者使用得比较多,不过也有非常多的开发者也会使用Sublime Text、UE等众多编辑器,这一点在Windows开发者上更为常见。在visual studio code发布之前,Atom一度是这个领域的香饽饽,Atom是GitHub内部开发的一个文本编辑器,也是一个非常现代化的文本编辑器,拥有非常漂亮的交互界面,也拥有很多出色的插件工具,一时间风头无两,开源、免费、插件、漂亮,这几个因素让Atom成为很多开发者的首选编辑器。

我就记得在老东家的时候,身边一大堆人都是用Atom,除了我这种Emacs顽固分子,很多后端都在用Atom编辑器。直到有一天巨硬公司搞了个Visual Studio Code,这玩意儿同样也是基于Electron发展起来的,微软对这玩意儿还挺上心,自己开发了一大堆插件。开发Visual Studio Code是大神Erich Gamma,虽然Atom一样都是基于Electron,但是明显visual studio code在性能上要强大很多,而且visual studio code最初是来自微软内部的Monaco编辑器,在visual studio online、onedrive、office 365中有着丰富的实战经验,因此VSC可以说是厚积而薄发。

本来性能上的优势是明显的,除了性能上的优势,还有个很大的原因是,后来微软收购了GitHub,Atom这款本来GitHub内部使用的编辑器就变得优点尴尬了,visual studio code是微软的亲儿子,微软投入了非常多优秀的工程师去维护这个产品,但是Atom是干儿子,自然也就在微软得不到宠爱,只能全靠社区推动了。

Google、Facebook、腾讯、百度依然在大量使用Vim/Emacs在后端开发中,尤其是以C/C 为核心技术栈的科技公司中,工作模式还是本地SSH远程连接Linux开发机进行工作,因此还是有很多开发者会使用emacs和vim两种编辑器,而且即使是本地开发,也有不少人愿意使用vim和emacs文本编辑器。

这个局面短时间还是不太可能改变,毕竟这些企业的核心技术栈是很难被轻易替代的,像QQ、微信、百度、Google这些比较老的项目,想要重构难度和工程量都是极大的。理论上来说,除非是一个全新的项目,或者是年轻的创业公司,否则在技术上还是很难替代。总的来说,我认为之后使用visual studio code的开发者会越来越多,前端开发、Dart、Go、Python这些领域的开发者使用VSC的程序员会越来越多,甚至是在C/C /Rust这些领域,也有不少的开发者在使用。


文章TAG:Vim  vim  官网  中文  社区  
下一篇