我使用IntelliJ IDEA作为代码编辑器,所以这不是要替换它.我在我们的服务器和标准命令上使用vi
或vim
进行简单的文本编辑,unix
以查找文件,获取目录列表等.
同事们对emacs发誓,但我想知道是否值得我花时间学习它.我的生产力会提高多少?
编辑:有人指出,此问题之前已被提出过
我使用emacs已有二十多年了.尽可能地,我尝试将它用于我所有的打字需求,包括,如Fu86提到的,阅读电子邮件,新闻等,以及笔记,待办事项列表,编写代码,运行编译等.由于emacs是它比可扩展的vim(相对于相对不可扩展的vi)更老,它有更大的扩展模式集合,几乎涵盖了你可以想象的任何目的.也就是说,可以认为严肃使用emacs可以被视为一种生活方式选择,因为需要花费大量的精力和时间才能熟练使用该工具.
我真正的答案是,就编辑器(以及任何其他类型的工具)而言,你应该找到一个功能强大且灵活的,然后花时间成为该工具的熟练用户.您选择的工具可以是vim或emacs,也可能是其他东西,但无论如何,请花时间学习它.就个人而言,我选择掌握emacs,当我希望它为我处理一些新情况时,我从未失望过.
从未在Java中认真工作过,我无法直接体验它取代eclipse和intellij等工具的能力.我已经足够对这些高度集成的工具持怀疑态度了(即使没有使用它们的经验),并且有些emacs模式可以提供这些编辑器的功能(尽管不是全部,我确定).
1)你应该学习使用Emacs吗?大概.2)您是否应该尝试将所有开发切换到Emacs?不,我会按顺序讨论这些问题.
1)在这个问题中,Emacs可以替换为Vim或任何其他跨平台编辑器.我想强调它是跨平台的事实.对我来说,这是与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这样的文本编辑器进行认真的开发.
我希望这有帮助!