是否值得学习使用Emacs进行Web开发

时间:2010-12-08 05:58:40

标签: emacs

我之前从未使用过Emacs,而且我第一次尝试使用Emacs时,它的界面看起来并不是非常用户友好。但从那以后,我听到很多关于它提高生产力的事情,这再次引起了我的兴趣。但对于Web开发的情况也是如此吗?对于像php,python,javascript / jquery等。代码完成功能有多好?

请建议一些资源让我开始朝着正确的方向前进。

6 个答案:

答案 0 :(得分:46)

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

Emacs的主要优势在于它的可扩展性以及它的核心,它是一个lisp解释器,带有一堆用于文本编辑和显示的原始函数。这使它“可编程”。您可以无限制地自定义它。

这促使许多库执行(常见)代码完成,源代码浏览,测试工具集成,重构工具集成,版本控制集成等。如果开发项目的开发人员是Emacs用户,那么并不罕见地看到她在她的项目只是中添加了一些内容,以使其与Emacs一起使用。可扩展性也刺激了传统图书馆,如邮件客户端,网络浏览器,IRC客户端,音乐播放器等。

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

另一个优点是Emacs old 。人们已经无休止地调整和抛光它仍然可以。结果是一组编辑命令,我甚至不知道我需要。像“大写单词”这样的东西,使我的光标单词的第一个字母在大写字母上听起来很微不足道,但在你编辑时,它非常有用。

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

话虽这么说,Emacs是一个适合不同类型开发人员的工具。大多数硬核Emacs用户(并且有很多着名的用户)不使用许多IDE类型的功能。他们通常喜欢只是一个窗口(没有工具栏,菜单栏和所有这些),以便代码的空间最大化。如果您习惯于依靠功能较强的IDE来完成工作,那么Emacs可能不适合您(我认为这是Trey在评论中的意思)。但是,如果你想要一个程序员编辑器,让你完成任务并让你以最小的麻烦完成你的工作,那么你应该尝试一下。

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

一切顺利!

答案 1 :(得分:16)

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

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

如果你这样做,那就值得了。如果你不这样做,那就不是了。

更具体地说,我将通过您可以从Emacs wiki获得的一系列链接回答您的广泛问题:

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

适合你吗?说不上。

它比编辑X更好吗?还是IDE Y?对于某些事情是肯定的,对其他事则没有。

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

人们使用vi,人们使用记事本,人们使用各种text editors

注意:询问模糊的问题会导致模糊的答案。

答案 2 :(得分:4)

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

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

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

答案 3 :(得分:1)

正如其他一些海报所说,这一切都取决于你想要的东西。如果您希望自己能够像在编写实际代码时那样使用emacs进行自定义,那么确定.. Emacs很棒;)

(在任何人跳下我的喉咙之前,emacs是我最喜欢的编辑'nix C / C ++编辑,但这不是OP在这里寻找的东西;)

在我的讨伐中找到最适合PHP,Python,Javascript等的高效编辑器,到目前为止,我最喜欢的是Komodo Edit。它不仅具有代码完成功能,还具有跳转到定义(以及功能齐全的IDE应具备的许多其他功能),并且是我见过的最接近Visual Studio for OS脚本开发的东西。哦,它是免费的。

答案 4 :(得分:0)

老实说,支持腐烂的水果/蔬菜肯定会被我的方式抛弃我最近成为了用于Web开发的NetBeans IDE的粉丝。特别是当涉及到PHP。

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

答案 5 :(得分:0)

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