我使用IntelliJ IDEA作为代码编辑器,所以这不是要替换它。我使用vi
或vim
在我们的服务器和标准unix
命令上进行简单的文本编辑,以查找文件,获取目录列表等。
同事们对emacs发誓,但我想知道是否值得我花时间学习它。 我的生产力会提高多少?
编辑:有人指出这个问题has been asked before
答案 0 :(得分:29)
我使用emacs已有二十多年了。尽可能地,我尝试将它用于我所有的打字需求,包括,如Fu86提到的,阅读电子邮件,新闻等,以及笔记,待办事项列表,编写代码,运行编译等。由于emacs是它比可扩展的vim(相对于相对不可扩展的vi)更老,它有更大的扩展模式集合,几乎涵盖了你可以想象的任何目的。 也就是说,可以认为严肃使用emacs可以被认为是生活方式选择,因为需要花费大量的精力和时间才能熟练使用该工具。
我真正的答案是,就编辑器(以及任何其他类型的工具)而言,你应该找到一个强大而灵活的工具,然后花时间成为该工具的熟练用户。您选择的工具可以是vim或emacs,也可能是其他东西,但无论如何,请花时间学习它。就个人而言,我选择掌握emacs,当我希望它为我处理一些新情况时,我从未失望过。
从未在Java工作过,我无法直接体验它取代eclipse和intellij等工具的能力。我已经足够对这些高度集成的工具持怀疑态度(即使没有它们的经验),并且有些emacs模式可以提供这些编辑器的功能(尽管绝不是全部,我确定)。 / p>
答案 1 :(得分:14)
1)你应该学习使用Emacs吗?大概。 2)您是否应该尝试将所有开发切换到Emacs?不,我会按顺序讨论这些问题。
1)在这个问题中,可以用Vim或任何其他跨平台编辑器替换Emacs。我想强调它是跨平台的事实。对我来说,这是与Emacs(或Vim)流利的主要好处。无论我使用什么计算机,它都要么已经安装了Emacs,以便我可以直接进入某个开发阶段,或者我可以在几分钟内轻松下载它。在我的大学编程实验室里,我只是打开了终端并使用了Emacs,而不是试图使用我所使用的计算机上的任何IDE。由于我已经熟悉Emacs(虽然绝不是专家),但我能够完成工作,而不必与不同的环境作斗争。
此外,有些语言根本不存在体面的IDE。例如,每当我尝试在OS X上为Haskell找到一个像样的IDE时,我总是会回到Emacs身上。如果我不熟悉Emacs,我真的不知道我是如何编写Haskell代码的。
最后,对于非常小的项目(特别是简单的一个文件程序)使用IDE会感觉笨重而适得其反;为这样的任务设置一个简单的文本编辑器是很好的(虽然我肯定有人会争论Emacs到底有多简单)。但这并不一定是Emacs的论据;例如,在OS X上,TextMate是这些任务的一个很棒的编辑器。
2)Emacs功能强大且可扩展性极佳,但根据我的经验,它不能替代IDE。在我的业余时间开始一个新项目时,我想到的第一件事就是我的语言和选择的技术是否有一个好的IDE。例如,在OS X上,我通常会首先查看是否有一种将Xcode用于我的项目的好方法。在Windows上,我会看看我是否可以使用Visual Studio。如果失败了,我会看看Eclipse和NetBeans等IDE。只有在那之后我才考虑使用像Emacs这样的文本编辑器进行认真的开发。
我希望这有帮助!
答案 2 :(得分:4)
我认为你的生产力也不高。我自己目前使用Emacs进行编程,但主要原因是我必须进入我正在开发的系统。否则我可能会使用像IntelliJ或Eclipse这样的IDE。
答案 3 :(得分:3)
老实说,我认为你根本不会更有成效。 Emacs十年前作为一名编辑很好,但是现代的IDE - 特别是IntelliJ,我是一个忠实的粉丝 - 带来的不只是编辑器,包括调试器,重构代码的能力,无缝移动类IDE和软件包等等。IDE的生产效率很大一部分来自这些功能,而不是编辑器。
如果您没有将vi / vim用作主要文本编辑器(意味着将其用于重要的开发工作或仅仅是重要的时间),那么您使用的任何内容都是IDE的辅助工具。
答案 4 :(得分:3)
编辑的选择是每个程序员必须至少做一次,但往往在他们的职业生涯中反复进行。直到大约四年前,我才成为vi + Eclipse用户,当时我从一个业余爱好编码器转变为专业人员,并且或多或少地同时使用emacs。
我发现,emacs已经奖励了我花了很多时间学习它的功能。我仍然不能推荐它来编写Java - Eclipse / NetBeans / IntelliJ比任何单纯的文本编辑器都要好得多 - 但是对于配置文件编辑,C编码,脚本编写emacs提供了你可能想要的一切,等等。最新版本(令人遗憾的是,还没有发布)甚至支持gnome中的TrueType字体。
这会很痛苦。总是更换工具。但是,你应该尝试去学习它。你不会后悔的。
答案 5 :(得分:2)
emacs和vim之间的区别在于,emacs包含许多功能,并结合了邮件,新闻,文件管理器,当然还有文本编辑器。 Vim只进行文本编辑,非常好(没有插件)。如果你喜欢emacs,它取决于你。我个人更喜欢vim,但是试试emacs并找到最合适的文本编辑器。
答案 6 :(得分:2)
'emacs'很棒但是如果你对'vi'感到满意并且不会大量使用它那么你最好不要花时间学习emacs。 emacs很有趣,并且随着时间的推移变得非常直观。所以,我想说每天花10到15分钟,看看它对你有用。
答案 7 :(得分:2)
我一直更喜欢vim进行简单的文本编辑,但我更喜欢使用elisp来扩展编辑器。这些天我使用emacs进行严肃的编辑,并在我进入服务器时使用vim进行快速操作。
答案 8 :(得分:1)
学习Emacs并不是一个坏主意:许多IDE(例如Eclipse和NetBeans - 最后一次使用它时)都支持相同(或类似)的键绑定。虽然这些绑定起初可能会让人感到困惑,但在我看来,它们可以大大提高你在键盘上的速度,因为你的手永远不会真正离开“家”的位置。在一个更成熟的IDE中,这是非常宝贵的。
当然,成为所以已经习惯了Emacs的键绑定,我现在只要它们不可用就会挣扎。
答案 9 :(得分:1)
学习emacs还有另一个好处。 Emacs已经以惊人的方式集成到unix操作系统中。例如,您可以在xterm中使用基本的emacs命令。在OS X中,您可以在任何地方使用基本的emacs内容。此外,您还可以设置许多IDE(如Visual Studio或Eclipse)以使用类似emacs的命令。所以我要说熟悉emacs的基础知识是件好事,即使你没有那么多使用它。
还有一点需要指出:emacs是笔记本电脑上的天赐之物。特别是Apple笔记本电脑。你不需要担心主键所处的神奇位置,因为你只需要C-a。
答案 10 :(得分:1)
就个人而言,我喜欢emacs。它广泛使用,并具有很多功能。与VI / m不同,它没有插入模式的概念,因此感觉就像标准的文本编辑器。
另外,Lisp。
答案 11 :(得分:0)
如果在阅读this analysis of editor vs IDE后,您认为自己是语言专家,那么您应该学习Emacs。否则,你不应该。
答案 12 :(得分:0)
如果现在使用并且像IDE一样,并且您已经熟悉vi / vim,那么请不要再考虑Emacs了。 Emacs永远不会取代你的IDE,如果它可以,那么vim就可以了。没关系Emacs vs. vi圣战...你已经知道vim了,vi / vim已经安装在你遇到的任何UNIX风格上。
答案 13 :(得分:0)
使用Emacs或vi进行学习是个不错的主意。然后,您将能够自己决定哪种方式最适合您。也许你最终会同时使用两者; IDEA一件事;其他情况下的“编辑”。
哪个编辑器(emacs或vi)几乎是品味问题。让当地专家回答“嘿,我如何使用编辑Y做X”非常有帮助。如果你的同事用emacs发誓,那我就说放弃吧。