vi
或vim
在服务器上进行简单的文本编辑,并使用标准的unix
命令查找文件,获取目录列表等。同事们很喜欢emacs,但我想知道学习它是否值得我的时间。学会后我会更加有效率吗? 编辑:有人指出这个问题已经被问过了。点击这里。
我已经使用Emacs超过20年了。尽可能地,我尝试将其用于我所有的打字需求,包括像Fu86所提到的阅读电子邮件、新闻等,以及笔记、待办列表、编写代码、运行编译等。由于Emacs比可扩展的Vim(而不是相对不可扩展的Vi)要古老得多,它拥有一个庞大的扩展模式集合,涵盖几乎你能想象到的任何用途。
也就是说,严肃使用Emacs可以被视为一种“生活方式选择”,因为需要花费相当多的精力和时间来熟练掌握这个工具。
我的真正答案是,就编辑器(以及任何其他类别的工具)而言,你应该找到一个强大且灵活的工具,然后花时间成为该工具的熟练用户。你的选择可以是Vim或Emacs,或者可能是其他东西,但无论如何,要花时间好好学习它。就我个人而言,我选择掌握Emacs,每当我想让它处理一些新情况时,我都从未失望过。
由于我从未认真地在Java中工作过,因此无法根据直接经验评论它在取代Eclipse和IntelliJ等工具方面的表现如何。我已经足够老了,对这些高度集成的工具持怀疑态度(即使没有使用过它们),而且有一些Emacs模式提供了一些(尽管肯定不是全部)这些编辑器的功能。
1) 你应该学习使用Emacs吗?很有可能。2) 你应该尝试将所有开发工作都转移到Emacs上吗?不应该。我会逐一讨论这些问题。
1) 在这个问题中,Emacs可以被Vim或其他跨平台编辑器替换。我希望强调的是它是跨平台的事实。这对我来说是掌握Emacs(或Vim)的主要好处。无论我在哪台电脑上,它要么已经安装了Emacs,以便我可以直接开始一些开发,要么我就能在几分钟内轻松下载它。在我的大学编程实验室里,我不会尝试使用计算机上所拥有的任何IDE,我只需打开终端并使用Emacs。由于我已经有一定的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这样的文本编辑器进行严肃的开发。
希望这能帮到你!
我认为你也不会更加高效。目前我自己在编程时使用的是Emacs,但主要原因是我必须通过ssh登录到正在开发的系统中。否则我可能会使用像IntelliJ或Eclipse这样的IDE。
Emacs和Vim的区别在于,Emacs包含许多功能,包括邮件、新闻、文件管理器以及文本编辑器。而Vim只能进行文本编辑,并且非常出色(无需插件)。你可以选择喜欢Emacs还是Vim。我个人更喜欢Vim,但建议尝试一下Emacs,找到最适合自己的文本编辑器。
'emacs' 很棒,但如果你已经熟悉 'vi' 并且不会经常使用 'emacs',那么最好不要花太多时间学习 'emacs'。 'emacs' 很有趣,并且随着时间的推移变得相当直观。因此,我建议每天花费 10 到 15 分钟,看看它适合你。
我一直更喜欢使用vim进行简单文本编辑,但是我更倾向于使用elisp扩展编辑器的功能。现在,当我需要进行重要的编辑时,我使用emacs,而在ssh到服务器时,我则使用vim来快速操作。
学习Emacs并不是一个坏主意:许多IDE(例如Eclipse和NetBeans - 我上次使用时)都支持相同(或类似)的键绑定。虽然这些绑定一开始可能会令人困惑,但在我看来,它们可以极大地提高您在键盘上的速度,因为您的手从未真正离开“主”位置。在更成熟的IDE中,这是无价之宝。
当然,由于已经习惯了Emacs键绑定,现在如果没有它们,我就会感到困难。
学习Emacs还有一个好处。在Unix操作系统中,Emacs已经以令人惊讶的方式进行了整合。例如,在xterm中可以使用基本的Emacs命令。在OS X中,几乎可以在任何地方使用基本的Emacs功能。而且,您还可以设置许多IDE(如Visual Studio或Eclipse)来使用类似于Emacs的命令。所以即使您不经常使用Emacs,熟悉Emacs的基础知识也是一件好事。
还有一点需要指出:在笔记本电脑上使用Emacs是非常方便的。特别是在苹果笔记本电脑上。您无需担心Home键所在的位置非常恶心,因为您只需要使用C-a即可。