为什么有的程序员极度推崇 Vim 和 Emacs,却对 IDE 嗤之以鼻
发布网友
发布时间:2022-04-29 14:22
我来回答
共5个回答
热心网友
时间:2023-10-10 13:17
起初学习Linux和Vim, 纯粹是虚荣心或者说那个时期叛逆心理的作用, 当时对Linux和Vim一知半解但是总是对同学说, Vim多好多好, 其它编辑器都是渣渣. 当然当时对IDE还存在着崇拜心理, 只不过偶尔听到某某大神说, IDE会让人屏蔽很多细节, IDE什么都帮你做了, 你会变傻的. 从那时就有了一种, IDE挺强大, 但是Vim更利于学习, 学生么, 当然学习为主, 慢慢开始排斥IDE…
后来, 大学毕业, 工作是在嵌入式系统里编程, 或者是在linux服务器上写服务, 主要都是C语言的. 根本用不到IDE加之之前学习的, 基本上IDE的能够实现的功能, 用命令行+Vim基本都能实现. 逐渐自己慢慢在和别人的交流中就变化了. 出口Windows垃圾, IDE渣渣, 用IDE基本就是低端的象征, 当时的思想极端到自己用C语言, 连C++都看不上, 更别说JAVA或者C#之流, 所以IDE进一步在我的世界里疏远, 并且开始有主动鄙视IDE行为. 当时极端到什么程度, 到一台新电脑上, 总是把命令行窗口最大化或者干脆直接切文字终端, 别人看见以后总会投来膜拜的眼神, 自己洋洋得意, 其实在命令行下也没干什么…回想一下, 太天真.
在后来, 工作越来越忙, 看的代码写的代码越来越多. 由于工作原因Vim成为了必须用的东西, 因为好多项目, 都是用命令行编译, 好多vim编辑的痕迹, 自己为了更快速方便的工作, Vim就用的更多更好, 逐渐发现, Vim确实好用, 而且非常好用. 这个时候我就能真正的说, Vim真的增加了我的工作效率. 这时候一个事情改变了我的想法, 一个同样热爱命令行, 热爱vim同事, 但是他的工作是JAVA, 人家在浏览代码的时候只需要Ctrl+鼠标就可以完成跳转到类定义, 但是他还要用grep, 找关键词, 用vim打开, 然后修改. 我开始变的不理解他的行为, 开始转变对IDE的看法. 合适场景用合适的工具. 最后有意思的是, 那位vim达人最后因为公司让他长期搞Java, 他终于选择了离开, 去了一家知名的做路由器的公司做底层了, 听到这些的时候, 我心里其实蛮开心的.
现在, 我开始做iOS编程, 等于说换了行业. 这时即使Vim再牛*在快, 它也完成不了Xcode所能完成的事情, 从项目创建, 到自动添加所需的库, 自动的笔误的代码, 最后打包签名上传. 有人会抬杠说, 这些其实在Mac OS X中都可以用命令行做到. 我想说的是, 能做到又怎么样?你用命令行写的App能在总榜排到第几? 话说回来, 我现在是Xcode + XVim插件, 在编写程序的时候, 还是Vim习惯, 做其他事情的时候用XCode功能, 这不是两全其美么, 效率还奇高. 现在我是不愿意参加什么Vim牛*还是IDE牛*的圣战了, 如果讨论怎么把App或者游戏做到总榜前10我还有点兴趣.
总结:
回想一下, 如果一个人总是在说Vim或者Emacs牛*IDE是渣渣不要怪他, 先看看他做的事情, 如果做linux kernel他能用什么IDE, 完全可以鄙视他; 如果他为开源贡献了xx行代码, 为linux贡献了xx代码, 牛人总有牛的道理, 偏执狂才能改变世界么; 但是如果他搞的是神马框架或者Java, C#之类的, 用Vim和Emacs是不是在折腾自己呢, 不如看看他用工具做出来的东西怎么样吧. 其实, 这些都是工具, 能用工具给养活自己, 甚至帮助别人, 对这个世界能有贡献是不是更重要的事情呢? 年轻的时候用外表, 用自己用的工具, 用Vim用Emacs来证明自己牛*是太正常的一件事了, 因为自己还年轻, 不足以那那些实在的事情来证明.
最后:
如果让我选择用Vim还是IDE来证明自己, 我当然是愿意用Vim. 因为Vim才是我喜欢的范, 但是如果别人用IDE来证明了自己, 我也同样会拍手叫好, 因为他们已经证明了, 用什么重要么?
发布于 2013-12-07 19 条评论
赞同
19
反对,不会显示你的姓名
陈达野,"Vim用户"."Linux爱好者"."GFW受众"
知乎用户、赵文博、ccoder 等人赞同
科普:
1.vim里删除一行是dd,删除一百行是100dd,不需要进入什么命令行。除非您用的不是我们这个世界的vim。
2.有个名叫make的程序,只要在一个名叫makefile的文件里写好编译规则(也可以通过一些工具自动生成)就可以编译,不需要你输入大堆的编译命令。只要在vim里绑定一个快捷键就可以像vs一样的一键编译。vs里也有一个叫nmake的东西,用来干差不多的事,你可以在你的vs的安装目录里找到。我的vim配置里专门给F5绑定了一个函数来实现一键运行,会通过文件类型判断该怎么做。是python脚本就调用python,是shell脚本就调用/bin/bash,是html就调用浏览器,是c就调用gcc进行编译然后运行,我真的不知道要输入命令干嘛。
说说我用vim的原因:
1.我不是java程序员也不是c#程序员,用不着vs或者eclipse。
2.上面很多人说过了,ssh连接到linux服务器上,除了vim或者emacs还真不知道有啥编辑器好用。
3.我懒。用vim用不着正襟危坐。往椅子上一躺(那角度真的是躺),双手懒洋洋搭着键盘,手指啪嗒啪嗒的敲就行了,手肘从头到尾都不用挪位。
PS:作为一个vim爱好者我从不会鄙视用IDE的,我只鄙视用IE的。
编辑于 2013-08-20 9 条评论
赞同
388
反对,不会显示你的姓名
仲晨,人生的路啊,都是自己选的
赵胜利、周笑镭、Dragoon Bentus 等人赞同
实用是好事儿,但经常会丧失解决复杂问题的便捷性。
比如处理数据,简单的我也用Excel,但用着用着,碰到诸如特定需求的排序去重,不仅得绞尽脑汁旁门左道,还得查半天函数手册。下次,我不如直接写bash脚本或python处理来的快,尽管它们入门学习成本较大,但能够在未来的路上让我避免掉大量Excel本身的局限性。
热心网友
时间:2023-10-10 13:17
1、vim/emacs,30年前就有了。至今并没有太大的变化。30年前熟练掌握vim的用户至今依然能熟练使用最新版本vim。并且这个延续了这么多年使用习惯的编辑器依然能够通过扩展具有最新的功能,能适应最新的编程语言。缺省安装无配置的情况下就能够具有成千上万种文件的语法着色,这是其他编辑器无法做到的。
2、而ide呢?30年前的ide,现在还有能用的?你若是用多年前的ide,根本无法适应新的编程语言,或者无法适应新的语言标准,或者无法适应新的操作系统。
3、你18岁学会了编程,可以用vim/emacs,一直用到48岁。但如果你用ide,你每过几年就得换个新ide,30年恐怕换过10个。
4、所以,为什么有人吹捧vim/emacs?是因为有人认为,程序员没必要花费大量时间用在不断的更换ide,学习新ide上面。而如果用vim/emacs,除了最初的一年半载有个新鲜感有个折腾劲,之后的几十年里,你再也不需要操心编辑器的事儿。
热心网友
时间:2023-10-10 13:18
1、vim/emacs,30年前就有了。至今并没有太大的变化。30年前熟练掌握vim的用户至今依然能熟练使用最新版本vim。并且这个延续了这么多年使用习惯的编辑器依然能够通过扩展具有最新的功能,能适应最新的编程语言。缺省安装无配置的情况下就能够具有成千上万种文件的语法着色,这是其他编辑器无法做到的。
2、而ide呢?30年前的ide,现在还有能用的?你若是用多年前的ide,根本无法适应新的编程语言,或者无法适应新的语言标准,或者无法适应新的操作系统。
热心网友
时间:2023-10-10 13:18
可能爱好自由是很多程序员的天性吧,有什么不能满足我的,或者我有什么想法,我希望能够自己去实现或者定制化,而很多IDE可能自由度不是那么高。
热心网友
时间:2023-10-10 13:19
有一种本能叫装13,是好斗本能的扭曲表现。程序员情商低,无法压抑这种本能。