首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Emacs或Vim与Eclipse相比提供了哪些效率?

Emacs或Vim与Eclipse相比提供了哪些效率?
EN

Stack Overflow用户
提问于 2009-08-28 12:54:55
回答 11查看 43.3K关注 0票数 75

我大约在5年前开始编写代码。我是通过Java和Eclipse被介绍出来的,这两种语言在编程社区中都有很大的污名。在我目前实习的公司里,很多人更喜欢emacs或vim。一般来说,我看不出基本的文本编辑器比IDE更快或更容易,尽管我欣赏一些东西,比如从命令行构建往往更快。

这是“老男孩”俱乐部的一个例子,还是以这种方式规划一个项目会更有效率?

您能提供一些用例来演示吗?如果我提倡Eclipse,我会说重构和自动完成是非常方便的工具。

盖夫

EN

回答 11

Stack Overflow用户

发布于 2009-08-28 23:42:06

参数"Eclipse for java“与"Eclipse for that Java”是一个不同的参数。Eclipse对于Java来说确实很棒。

我的意思是,vi就像一把螺丝刀,或者可能是一把瑞士军刀,而Eclipse就像一个大型的CNC组合铣床和沥青摊铺机。你并不确切地比较它们,你只是两个都使用。

还有,你是不是在一个巨大的东西里面工作,你对它知之甚少,但是Eclipse能理解它?一个例子就是在Eclipse本身上工作。在这里,Eclipse具有完美的可见性、全面的语言支持,并且您需要toast提示和文档链接。

但是,如果您正在键入一个100行的Ruby程序来转换SQL数据库,Eclipse不会增加太多价值,尤其是考虑到它的负担。

正确设置vi也很重要,否则您将无法理解它的吸引力。应设置自动缩进、showmatch、制表符处理和各种其他选项。您应该有一种简单的方法来生成标记文件。Google可以找到标签生成器,或者只需几行sed代码和sed(1)就可以从头开始编写一个。

我不认为重构是一个标准。这不是你一小时一次,甚至一天一次的事情。当然,当您需要重构时,启动大型IDE。哦,除了Java,别指望任何东西都能自动重构。

最后,vi实际上可以做很多IDE不能做的事情。分组正则表达式全局替换是一种广义的refactor-anything引擎。要理解vi完形,您需要学习行(":")模式。简而言之,这就像在编辑器中使用sed(1)。

票数 28
EN

Stack Overflow用户

发布于 2009-08-28 13:04:51

Emacs可以是一个强大的IDE,但是从Emacs到Eclipse,我不得不说我再也不会回去了。Eclipse提供了很多在Emacs中无法实现的特性。

我正在使用的数据和文件的Mylyn和作用域视图、调试UI、CVS UI都是内置的,并且易于获取和使用。我要用点鼠标来拿到它们。

票数 15
EN

Stack Overflow用户

发布于 2012-07-19 08:35:11

首先要做的是。在编程方面,VIM比Eclipse效率更高。你在VIM中的个人生产力可能很糟糕,但VIM的潜在上限要高得多。这是一个事实。

VIM是一种格斗艺术。当你第一次使用它的时候,感觉很不自然。你甚至都不能让它工作。这需要多年的实践才能逐渐变得富有成效。首先,你要专注于掌握一些细节。慢慢地,你掌握的所有这些内容加在一起,直到文本毫不费力地从你的指尖流到屏幕上。复杂的编辑可能会让你的同事叹息,但他还没来得及呼出一口气,你的手就会跳出来。能使用VIM的人很少。更少的人可以有效地使用它。你可能在有生之年再也见不到大师了。但有传言说它们确实存在。

VIM的设计目的是让你的手保持在主排上。把你的手从键盘移到鼠标上会让你士气低落。这是一个粗大的运动。移动你的手臂会产生一种伤害你的动力的生理效应。使用VIM,有人可以将你的手腕固定在键盘上,你仍然可以轻松地打开文件,拆分窗口,打开标签,构建项目,搜索/替换,更改字体,更改颜色等,所有这些都以闪电般的速度进行。

VIM是模态的。这意味着你不必在按住control+shift+Key键的情况下进行复杂的组合键。从长远来看,这会伤害你的手。相反,您可以执行命令。由于模态的性质,没有必要使用组合键。

我们像计算机一样将数据存储在内存中。我们的记忆一次只能保存几个值。看看在它们开始消失之前,你能在你的脑海中容纳多少不同的整数。我们通过写下东西来克服这个人类的限制。如果数据从我们的内存中丢失,我们可以很容易地查看我们写下的内容来找回它。如果你的时间花在做粗大的运动上,你就失去了本可以花在处理大脑数据上的时间。你想让你的思想毫不费力地流到屏幕上。这听起来可能不是很多,但VIM能够毫不费力地将你脑海中的想法转移到屏幕上,这是一个巨大的生产力提升。我想说的话很难用语言表达出来。

VIM支持代码完成。包括文本和基于查找的。它可以从多个文件中提取文本。你想要的任何东西都可以在VIM中得到。要么自己做,要么用别人做的东西。

VIM支持带有ctag的goign to定义。您还可以查找某个项目的所有引用。同样,您想要的任何东西都可以在VIM中获得。

VIM的脚本非常庞大。您可以下载或创建数以千计的配色方案,并立即更改颜色。尝试在Microsoft Visual Studio中更改字体或颜色,它将在加载数据时挂起20秒。它不会让你存储配色方案,每次你想要改变场景时,你必须花30分钟调整你的颜色和字体。在VIM中,您可以将行间距设置为零,以适应屏幕上更多的代码行。我得到了超过80行代码。Visual studio每行使用2个像素的间距,您不能调整它!更少的线条=更多的滚动=更低的生产力=被迫为更多的线条使用小字体=眼睛疲劳。

拆分窗口在VIM中的instnat中打开。当你需要在远离你输入的地方(或者在一个不同的文件中)的一段代码中查看数据时,它很有用。您不必花费时间调整窗口大小,也不必担心GUI窗口相互重叠和相互落后。不相关的代码窗口可以在标签中打开,不占用屏幕空间,但允许快速切换。

作为集成开发环境的VIM:http://www.youtube.com/watch?v=MQy2rVOf-z0&feature=fvwrel VIM复仇:http://www.youtube.com/watch?v=lQNFfhC4QI8

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1346820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档