我以前从未使用过 Emacs,第一次尝试时,它的界面让我感到非常反感,似乎不太友好。但自那以后,我听说它可以提高生产力,这重新激起了我的兴趣。但对于 web 开发来说也是这样吗?对于像 PHP、Python、JavaScript/jQuery 等语言来说有多好?代码自动完成功能如何?
请推荐一些资源,帮助我朝着正确的方向入门。
我以前从未使用过 Emacs,第一次尝试时,它的界面让我感到非常反感,似乎不太友好。但自那以后,我听说它可以提高生产力,这重新激起了我的兴趣。但对于 web 开发来说也是这样吗?对于像 PHP、Python、JavaScript/jQuery 等语言来说有多好?代码自动完成功能如何?
请推荐一些资源,帮助我朝着正确的方向入门。
对于Emacs,我是一个非常忠实的使用者,所以请带着一些保留意见来看待我的观点。我将尝试说明我使用Emacs(包括Web开发)的原因。
Emacs的主要优势在于它的可扩展性和事实上它是一个Lisp解释器,具有用于文本编辑和显示的一堆基本函数。这使得它“可编程”。您可以几乎无限地定制它。
这激发了许多库来执行(通常的)操作,例如代码自动完成、源代码浏览、测试工具集成、重构工具集成、版本控制集成等等。如果项目中的开发人员是Emacs用户,很常见会看到她添加一些内容到她的项目 只是 为了与Emacs良好地配合使用。可扩展性也促进了一些不太常规的库,例如邮件客户端、Web浏览器、IRC客户端、音乐播放器等等。
许多Emacs用户将他们的大部分工作(除了可能的浏览器)都放在Emacs里面。这使他们能够使用相同的按键和高级技术来处理所有的任务。我个人用它进行日常编码、发送电子邮件、当做我的PIM以及其他一些事情。例如,当我在编写代码时,只需在某个地方写上“TBD”作为注释,下次打开编辑器时,PIM部分就会将其记下来作为待办事项。另外,在编码过程中,我可以简单地切换到带有IRC客户端的另一个“buffer”(Emacs术语中的窗口),并向在线的其他人询问我可能有的问题。这使我的工作更高效、更快捷。此外,许多命令行UNIX程序(如我的shell等)的按键几乎相同,这帮助我更快地完成工作。
另一个优点是Emacs很老。人们已经不断地对它进行了调整和改进,仍然如此。结果是一组我甚至都不知道自己需要的编辑命令。像“capitalise word”这样的东西可以将光标所在单词的首字母大写,听起来微不足道,但在编辑时非常有用。
作为一个可扩展的编辑器,Emacs 有“模式”。这些是特定编程语言的环境。缩进规则、语法、自动完成等会随着您所使用的模式而改变。它几乎支持所有现代语言,它们在编辑时提供了很多帮助。您可以使用一些针对javascript
、php
等语言编写的工具来辅助编码。还有一些 Web 特定的工具(例如 Emacs 可以与MozRepl进行交互,这样您就可以在编辑时刷新浏览器和其他内容)。人们经常根据自己的需要编写模式,这并不太难。我最近开始使用 jekyll 来维护我的博客,并编写了 一种模式,使我的生活更轻松). 这些模式增加了功能,但从基本层面上看是相同的(例如,删除字符或按句子向前移动的键是相同的)。我喜欢这一点,因为我不需要学习全新的键集并习惯它们才能在其他语言中编写代码。如果你不喜欢这个界面,学习它就不值得。
问题不在于是否值得学习Emacs,而在于你想不想学习这个界面。
如果你想学习,那么它就值得。如果你不想学习,那么它就不值得。
更具体地说,我将用一系列链接回答你的广泛问题,这些链接可以从Emacs维基上获取:
许多人喜欢用 Emacs 来进行 Web 开发。以上只是一些人们日常使用的模式的示例。
它适合你吗?我不知道。
它比编辑器 X 或 IDE Y 更好吗?对于某些事情是的,对于其他事情则不是。
代码自动完成功能非常棒!(除非不是)这取决于你想要什么,涉及到哪些编程语言等等。
人们使用 vi,人们使用 Emacs,人们使用记事本,人们使用各种文本编辑器。
注意:提出模糊不清的问题会得到模糊不清的答案。
可以说,最终的Web编程模式是nxhtml mode。您可以先看一下它。您还可以查看一些丰富的预设Emacs配置,如Emacs Starter Kit或Emacs Dev Kit。
Emacs中的PHP和Python模式并不是特别好,但相当不错。JavaScript模式肯定很棒。像autocomplete mode这样的包几乎在任何地方都提供良好的补全功能。
虽然我有偏见,但我认为,如果您花费一些时间探索Emacs,您会发现它会提高您的生产力。
正如其他帖子所暗示的那样,一切都取决于你想从中获得什么。如果你想感觉到自己在emacs中实现的自定义与你编写的实际代码一样好,那么没问题... Emacs很棒 ;)
(在任何人责骂我之前,我必须说,对于'nix C/C++编辑,emacs是我最喜欢的编辑器,但这不是OP在这里寻找的东西;))
在我寻找最适合PHP、Python、Javascript等的最高效编辑器的过程中,我最喜欢的是Komodo Edit。它不仅具有代码完成功能,还有跳转到定义(以及许多其他完整功能IDE应该具备的功能),真正接近于Visual Studio用于操作系统脚本开发的工具。哦,而且它是免费的。
如果您正在使用可以进行Web开发的现有IDE,则请使用该IDE。 如果没有,那么Emacs是值得学习的文本编辑器,可用于文本编辑或在没有良好IDE的语言中进行编程。