Emacs-as-OS:已过时?[关闭]


22

为了使用这样一个传奇的编辑器至少达到初学者的地位,最近两个月我一直在Emacs中进行编码。我试图保持开放的心态,但是我发现自己一直不同意一个核心设计选择:Emacs允许用户永远不必离开。在2010年的世界中,我只是认为Emacs的每一项功能都无可救药地落后于专用软件:

  • 我永远不会使用其内置的浏览器。Chrome领先多年。
  • 我永远不会使用它的转向功能;路径查找器(Mac OS X)满足我的需求。
  • 我永远不会使用它的内置电子邮件;Gmail网络界面具有更多相关功能,例如优先收件箱。
  • 等等。

当然,我可能偶尔会使用Emacs来使用正则表达式等来完成上述任务之一,但是除了正则表达式之外,我真的没有理由接触这些辅助功能。我是一个新手,但是我有一种强烈的直觉,认为Emacs-as-an-OS已过时。

Emacs专家,您认为Emacs选择成为一个综合环境是2010年乃至未来的正确选择吗?与替代产品相比,是否还有特定的外围功能仍处于或提前使用?


9
这真的是个问题吗?看来您已经决定了。
拉里·科尔曼

5
@Emacs非常适合在Unix环境中进行gcc + gdb开发。编写LaTeX也很不错。

20
这就是Emacs拥有内在的精神科医生的原因。
Tim Post

3
@ Tim,Mx俄罗斯方块更有趣。

2
我完全理解您...我已经使用vi多年了,并花了一些时间来学习Emacs ...我得出的结论是,两者都无法满足我的需求...对于编程,我更喜欢一个现代的IDE(Eclipse),并且对于简单的文本编辑/脚本编写,nano很好。
奥利弗·韦勒

Answers:


14

我使用emacs已有10年(从开始到结束),我只能说您绝对正确。过去,我使用gnus和w3浏览器,但显然与专用程序相比,它们不再适用。但是,显然,您不能在文本模式下运行Chrome,因此这是emacs的优势。甚至在那里,我宁愿使用lynx / elinks或mutt。

Emacs程序员编辑器也失去了联系。文本编辑很好,但是当我编写代码时,我发现自己希望使用诸如goto定义,自动完成,重构,语法提示,参数docs等功能(例如Eclipse)。我尝试了几种emacs模式,但从未使其正常工作。不,我不想学习elisp,谢谢。

另外,emacs并不真正理解代码的语义。当在包含多种语言(例如html和javascript和php等)的文件中进行编码时,这非常痛苦。它只是分解。为此,我宁愿使用任何其他编辑器(notepad ++或其他工具)来做得更好。


5
在您列出的内容中,Emacs实际上具有“转到定义”(使用etags),“自动完成”(autocomplete.el我认为),语法提示/参数文档(根据语言)。您提到的唯一不支持AFAIK的是自动重构,它对所有语言都没有必要也没有用。但是,多种模式是可怕的。它存在并支持PHP和混合语言,但这很糟糕(除非我不在桌面上,否则速度太慢)。我还将为您提供与任何同事相同的建议:如果您不想学习Lisp,请不要使用Emacs,它不会为您做任何事情。
Inaimathi 2010年

8
同意;Emacs不是操作系统。我的反对意见是“ Emacs-theprogrammers-editor也失去了联系”。考虑到您拒绝学习Elisp,这是一个特别没有道理的论点,因为Emacs-the-programmers-editor的大部分好处都来自于应用定制。我不反对“我不使用Emacs,因为我不喜欢学习Lisp”,但是您听起来像是您对工具的故意无知会影响其适用性。这与我说的“ Eclipse很烂,因为它不支持PHP。而且,我不想学习如何安装插件,谢谢。”
Inaimathi 2010年

1
@Inaimathi您不必学习elisp(或任何语言)就能正确使用eclipse。安装插件也不需要。
马丁·威克曼

2
@Martin-它没有内置的PHP支持(或者当我使用它时没有);您需要为此安装一个插件。上面引用的语句等效于“ [Editor]很烂,因为它没有[它实际上具有的功能,但是需要启用],但是我真的不喜欢学习[您需要做的事情启用它]“,我的意思是,这不合理的论点。
Inaimathi 2010年

3
@Inaimathi:就重构而言,我一直在寻找C ++自动重构程序,而我发现的少数几个就是elisp。如果您说“ emacs不支持X”,则很可能是错误的。
David Thornley,

19

选择适合该工作的工具。

尝试通过ssh连接运行Chrome或Path Finder-在这里您将需要其他工具,并且Emacs 旨在在终端中运行。


关于SSH的好处。
AlcubierreDrive

3
x11转发?
TheLQ

7
实际上有多少人通过ssh连接使用 Web浏览器?
compman 2011年

1
@compman,是的。这对于从网站下载文件非常有用。

1
OS X具有VNC,只需通过SSH建立VNC连接的通道即可,您不必担心OS X不使用X11。
Lie Ryan

8

我什至不使用内置的治疗师,但是我确实使用Emacs,我喜欢它,这不是因为它的综合性,而是因为它作为文本编辑器具有无限的可配置性和强大性。我也知道很多按键。成功的文本编辑与按键有关。

如果您想使用它来提高生产率,Steve Yegge有一些不错的技巧。


我非常不同意Steves的方法,即重新绑定大量的密钥以使Emacs正常运行。学习标准的按键绑定,并使用.emacs调整其行为。

他的观点主要是符合人体工程学的观点-他并不是说标准绑定作为绑定存在问题,他是说键盘上的按键位置存在问题,如果要使它们易于使用, ,您需要为此目的找到不需要您的小手指在键盘最远的角上纠结的键。我可以看到这种感觉,但是如果您经常更换机器,那么它确实会限制您,因为您随后需要另一组肌肉记忆或花很多时间重新配置使用的每台机器。
glenatron 2011年

5

Emacs从未打算面向大众市场。它是专为那些花时间学习其工作原理的人们有效使用而设计的。就是说,一种尺寸并不能满足所有需求,因此即使您了解更多信息,您也可能不喜欢emacs。

编辑:除了编辑文本外,emacs我最喜欢的两个功能是shell模式和gnus。由于所有垃圾邮件而对Google网上论坛感到沮丧后,我注册了Eternal September,并学习了如何使用gnus。浏览邮件要快得多,只有偶尔发送的垃圾邮件才能通过,而摆脱它仅需按一下键即可。Shell模式对我的工作特别有用,因为复制/粘贴比在DOS提示符下更有效。


我不会认为文本编辑器已经过时;我同意,一旦习惯,它会非常高效。我的问题是关于设计选择的优点,即您应该能够在不离开Emacs的情况下做任何事情。是否有一些仍然不错的特定外围功能,或者您是否对曾经被超越的曾经很棒的外围功能有深刻的了解?
AlcubierreDrive

1
阅读您的评论后,我删除了过时的部分。我并没有对所有东西都使用emacs,但是我真的很喜欢shell模式和gnus。
拉里·科尔曼

甜!为了回应您的反馈,我在问题中添加了新的下半部分。您的评论回答了+1
AlcubierreDrive 2010年

1
在1994年,当时计算机的速度要比现在慢得多,因此能够在emacs中执行所有操作变得更加有意义。如果我已经在emacs中,并且经常使用shell,那么我会不时使用dired。能够在我的编辑器中执行很多操作,或者至少无需移动鼠标就可以了。您可能有不同的品味(这实际上是某种程度上的品味问题)
Zachary K

2

我一直将Emacs作为平台而不是即用型解决方案。有许多重复功能或目的的软件包,由您决定是否满足您的需求。

这也是许多事物过时的原因。大多数使用Emacs的人(无论如何我都遇到过)不使用它来阅读电子邮件或浏览网络。但是,我很难找到另一个具有

  • 作为先进的远程编辑功能
  • 自由格式内联宏的创建和编辑
  • 可用扩展/软件包的深度和广度

十多年来,它一直是我选择的软件开发和文字处理编辑器。

最棒的是,使用Emacs时无需触摸鼠标。


2

如果您愿意学习Lisp并编写适合自己需求的功能,那么Emacs可能是适合您的操作系统。

但是如今,您可以在其他伟人制作的其他工具中找到所需的一切。那些人之所以创建这些工具,是因为他们觉得自己需要它们,就像将要使用它们的您一样。由于它们中的许多都是开源的,因此有一个社区可以使它们变得越来越好,并具有您需要的所有功能。

尝试增强Emacs很难,因为您必须学习Lisp。甚至现有的插件也越来越老。以语言模式为例,即使语法高亮也几乎不支持JS和PHP之类的通用语言。您可以为他们找到的最佳模式是远远不够的。

Emacs是在正确的手中执行正确任务的出色工具。但是对于指定的任务,有更好的工具,您绝对应该使用这些工具。


1

我不希望发动一场圣战,实际上,有一段时间我第二天使用过emacs(一天是vim,一天是emacs)。emacs没什么错,它确实是个很棒的工具。很棒,很棒的工具。

但是,作为一个真正的Vim'er,我总是为很多Emacser试图将Emacs实际用于所有任务而感到沮丧。

阅读邮件,查询数据库,阅读pdf-这些都是我看过的“无精打采”的任务中最无辜的。

因此,对于我来说,有一些使用emacs的主要方面:

  1. 文字编辑。这是令人难以置信的超级工具。相信我,长时间使用vim或emacs之后,您将完全错过大多数高级IDE中的功能。

  2. IDE。好吧,可以做到的。而且,它可以以某种方式与IDE的模式竞争。但是事实是,要使其真正具有竞争力,就应该加大投入。您应该尝试汇编许多不同的脚本。您甚至应该编写自己的代码段。老实说,我不会。

  3. 其他任务,其中大多数是奇特的,甚至是深奥的。玩俄罗斯方块等。最好不要。


1
作为emacs和vi的长期用户(两者都拥有20多年的经验,使用ed作为我的主要编辑者也大约有1年),我发现emacs几乎是至高无上的,因为偶尔会有“我有重复的代码出现,让编辑器自动生成它”(而不是编写另一段代码,然后编译并运行它以生成代码)。
Vatine 2011年

0

在我收藏的东西中的某个地方,我确定我妻子希望我会扔掉,我在QIC-40 Tape上有一份Emacs副本。我花了50美元买了它。

那我不能#@%#$#$%@ ^#%#忍受,我现在不能忍受。我并不是说对于某些人来说它不是一个很好的编辑器,但是对我来说..它比任何东西都妨碍更多。最初的想法是围绕可乐瓶钥匙工作,并且做得很好。

如果您运行一个程序,无论哪个程序,您都可以这样做,希望它可以提高(或至少不会阻碍)您的生产率。如果它对您不起作用,请不要使用它。

相信我,你不是问题。


2
“这是一件重要的文物,它属于博物馆!”

1
“如果对您不起作用,请不要使用它”是主观性的诉求,因此“您不是问题”是一个矛盾。
乔恩·普迪
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.