2010-12-08 61 views
15

我以前从未使用过Emacs,也是第一次尝试它时,我的界面看起来不怎么用户友好。但从那以后,我听到很多关于提高生产力的信息,这又重新激起了我的兴趣。但是,网络开发的情况也是如此吗?喜欢的PHP,蟒蛇,JavaScript/jQuery等。代码完成功能有多好?是否值得学习使用Emacs进行Web开发

请建议一些资源,让我开始正确的方向。

+3

我认为议论问题不允许在这里堆栈溢出?这很可能开始一场神圣的战争。 http://xkcd.com/378/ – 2010-12-08 06:03:49

+3

我不认为这是论据。他要求提供关于如何开始使用Emacs的技巧,以及为什么它有一些吸引力,尽管它的界面非常不友好。 – 2010-12-08 06:24:41

回答

44

对于Emacs,我是一个宗教用户,所以请带上几袋盐。我会尽量说明我使用Emacs的原因(包括Web开发)。

Emacs的主要优势在于它具有可扩展性,事实上在它的核心,它是一个lisp解释器,它带有一些对文本编辑和显示有用的原始函数。这使得它“可编程”。你可以几乎无止境地定制它。

这引发了许多库,它们可以完成代码完成,源代码浏览,测试工具集成,重构工具集成,版本控制集成等常见工作。如果开发人员是Emacs用户,看到她在她的项目上添加了一些东西,这只是以使其与Emacs良好配合并不鲜见。可扩展性也促使了一些传统的库,如邮件客户端,网络浏览器,IRC客户端,音乐播放器等。

许多Emacs用户在Emacs内部保留大部分工作(除了可能是他们的浏览器)。这允许他们对他们使用的所有内容使用相同的击键和高级技术。我自己把它用于我的日常编码,我的电子邮件,我的PIM和其他一些东西。例如,我可以在处理我的代码的同时,在某处写下类似“TBD”的注释,并让PIM部分在我下次打开编辑器时将其记为TODO项目。例如,我也可以在编码的时候简单地用IRC客户端切换到另一个“缓冲区”(windows的emacs术语),并提出我可能对其他在线人员提出的问题。这使我非常高效和快速。另外,大量命令行UNIX程序(如我的外壳等)上的击键几乎相同,这可以帮助我更快地完成工作。

另一个优点是Emacs是旧的。人们无休止地调整和磨光了它,仍然如此。其结果是一组编辑命令,我甚至不知道我需要。像“大写字母”这样的东西让我的光标这个单词的第一个字母是大写字母听起来微不足道,但在编辑时,它非常有用。

Emacs具有可扩展性,具有“模式”。这些是特定编程语言的环境。缩进规则,语法,完成等将根据您所处的模式而改变。几乎所有现代语言都有模式,它们在编辑时提供实质性帮助。你有东西javascript,php等,它们可以帮助你在这些语言编码。还有特定于Web的工具(例如,Emacs可以与MozRepl对话,以便在编辑时刷新浏览器和事物)。人们总是为自己想要的而写模式,这并不难。我最近开始使用jekyll来维护我的博客,并写下a mode让我的生活更轻松)。这些模式增加了功能,但是在基本级别上是相同的(例如,删除一个字符的相同键,通过一个句子等向前移动)。我喜欢这个,因为我不需要学习全新的密钥集并习惯它们只是用另一种语言编码。

这就是说,Emacs是一种不同类型开发人员的工具。大多数硬核Emacs用户(并且有很多着名的Emacs用户)不使用许多IDE类型的功能。他们通常喜欢只是一个窗口(没有工具栏,菜单栏和所有的),以便代码的房地产是最大的。如果您习惯于使用功能强大的IDE来完成您的工作,Emacs可能不适合您(我认为这是Trey在其评论中的含义)。但是,如果您希望程序员编辑保持不变,并让您以最少的麻烦完成工作,那么您应该尝试一下。

好的,资源。首先要做的是启动Emacs并键入Ctrl-ht。这给你一个“手”的教程,你可以用它来学习编辑器的基础知识。完成之后,您可以阅读http://www.gnu.org/software/emacs/manual/html_node/emacs/index.html上的精细手册。一旦您对此感到满意,您可以阅读Emacs lisp tutorial并根据您的意愿开始扩展和定制Emacs。与Emacs IRC channel一样,EmacsWiki是一个提示,技巧和文档的好地方。

一切顺利!

+0

我还想补充一点,在StackExchange上现在有一个繁荣的[Emacs网站](http://emacs.stackexchange.com)。 – 2014-11-02 21:36:57

16

如果你不喜欢这个界面,那不值得。

问题不在于它值得学习Emacs,它是你想学习的界面吗?

如果你这样做,那么它是值得的。如果你不这样做,那就不是。

是的,人们喜欢使用Emacs的Web开发。以上只是人们日常编写和使用模式的一个示例。

这是给你的吗?不知道。

它比编辑器X更好吗?或IDE Y?是的,有些事情,没有其他人。

代码完成功能非常棒! (除非他们没有)这取决于你想要什么,你在说什么语言等等等等等等等等等等等等等等。

人们用vi,人们用Emacs,人们用记事本,人们用各种各样的text editors

注意:问模糊的问题导致含糊不清的答案。

+4

+1“提问模糊的问题导致模糊的答案。” – 2010-12-08 07:33:05

4

最终的网络编程模式可以说是nxhtml mode。你可以先看看它。您可能还想查看一些丰富的Emacs配置,如Emacs Starter KitEmacs Dev Kit

PHP & Emacs中的Python模式并不是特别好,但相当不错。 JavaScript模式当然很棒。诸如autocomplete mode等软件包几乎可以在任何地方提供良好的完成。

我当然有偏见,但我认为如果您确实花时间探索Emacs,您会发现它会提高您的工作效率。

0

老实说,大括号反对烂果子/蔬菜肯定会抛出我的方式我最近成为NetBeans IDE的Web开发迷。特别是当涉及到PHP。

但是要回答你的问题:只有它值得你这样做才值得。对不起,模糊的问题会得到模糊的答案。 ;)

1

像其他海报一样,这一切都取决于你想要什么。如果你想感受一下你能够在emacs中工作的定制,就像你写的实际代码一样,那么确定.. Emacs很棒;)

(之前任何人跳下我的喉咙,Emacs是迄今为止我最喜欢的编辑器“nix的C/C++编辑,但是这不是什么OP的这里寻找;))

在我讨伐找到最生产编辑为PHP,Python和Java脚本等等,到目前为止我的最爱是Komodo Edit。它不仅具有代码完成功能,而且还具有跳转到定义(以及许多其他功能,即全功能IDE应该具备的功能),这是我见过的Visual Studio for OS脚本开发中最接近的功能。哦,它是免费的。

0

如果您使用的是可以进行Web开发的现有IDE,那么使用IDE。如果不是Emacs值得学习作为文本编辑器去进行文本编辑或用没有良好IDE的语言进行编程。