提高emacs生产力的最好插件是什么 ================================================================================ 一年前的这个时候, 我想要寻找一个最好的插件 [将VIM打造成一个成熟的全功能的IDE][1]. 有趣的是, 很多评论那篇文章的是关于Emacs集成大部分这些插件,已经是一个伟大的IDE了. 尽管我对Emacs的难以置信的多样化表示赞成, 它依旧不是可以开箱即用(安装好不安插件即可用)的高级编辑器. 还好, 其庞大的插件库可以解决这个问题. 但在过多的选项中, 有时很难清楚该如何入手. 因此现在, 让我试着收集一个虽然简短但是不可或缺的插件列表来让你使用Emacs时提高工作效率. 虽然我主要侧重于与编程相关的生产力,但是这些插件将对任何人或对任何使用方法都是有用的. ### 1. Ido-模式 ### ![](https://c2.staticflickr.com/6/5718/23311895573_c1fb34337c_c.jpg) Ido 或许是对新手最有用的一个插件, Ido 表示交互式的去做.它取代大部分的用花哨的匹配字符提示的枯燥菜单 . 好比说, 它将取代正常的提示来打开一个拥有当前目录中的所有文件列表的文件. 任何字符串类型,Ido 将尝试匹配最合适的文件。它很容易想象你的行为,并迅速通过一个文件夹的所有文件命名相同的前缀来查找. ### 2. Smex ### ![](https://c2.staticflickr.com/2/1517/23310442314_2a22a60c34_c.jpg) 不算最著名的一个,但却是一个好选择来完成那些由Ido-mode开始的工作:Smex可以优雅的替代正常的“M-x”提示,也有由Ido-mode带来的很大的启发。通常输入的命令调用“M-x”之后它带来同样的互动搜索。它既简单又有效,是一个很好的节省那些额外的你通常需要1秒的短时间方式 ### 3. Auto Complete ### ![](https://c2.staticflickr.com/6/5794/23643004900_3042f77952_c.jpg) 知道这个插件的存在之前,我花了我一半的时间在使用Emacs敲击"M-/"来完成代码上。现在,我有一个漂亮的弹出为我去做自动补全。无须多说,只是我们都需要它。 ### 4. YASnippet ### ![](https://c2.staticflickr.com/2/1688/23830403072_0d8df6ef4c_b.jpg) 这是真正的程序员所需利器。总有一些代码,我们觉得我们在它们上面用掉了所有的时间。对我来说,用"var_dump(…);exit;"来调试PHP。经过一段时间一遍又一遍的输入"var_dump(…);exit;",我就想到我可以预先把其作为录制好的,方便的代码片段。YASnippets,很容易导入片段文件或者自己制做。之后,一个简单的按制表键可以将一小关键词扩展成一块预先写好的代码易于使用者浏览和修改。 ### 5. Org-mode ### ![](https://c2.staticflickr.com/6/5687/23570808789_d683c949e4.jpg) 免责声明,我最近才开始使用Org-mode。但它已经深深的吸引了我。从我看过数以百计的书面作品来说,Org-mode可以改变你的生活。它背后的想法很简单:它是一种模式,简化了笔记,同时保持一个纯文本格式,便于浏览列表的任务和各种数据,并执行操作,如按优先级过滤或到期日期,或设置一个复发日期 。然而,从这个简单的想法,你可以完成很多,但也容易被所有的选项弄的不堪重负。与其去看一个长长的解释,我敦促你去通过[可用教程][2],看很多视频,自己去看看Org-mode是多么强大。 ### 6. Helm ### ![](https://c2.staticflickr.com/2/1489/23310442334_5e6db22b79_c.jpg) 一些使用者喜欢它,但是其他人没有这么大的使用热情。我是后者的一部分。但在拥有这样一个庞大的追随者群体的情况下,是不可能避免提到它的。Helm旨在完全变换你的Emacs使用体验。简单描述,Helm是一个这样的框架,在Emacs下将帮助您快速找到一个文件或命令。根据您的输入,它将尝试使用词语自动完成指导你大脑的念头变为行动。起初感觉有点奇怪,但对一些人来说,Helm本身就是一个信仰。虽然我不是Helm的粉丝,我欣赏helm-occur这一个伟大的工具在一个大文档搜索字符串并且在一个单独的缓冲区显示所有,因此很容易导航。如果你正在寻找一个快速演示来了解Helm能做什么,我推荐这篇文章[3]。 ### 7. ace-jump-mode ### ![](https://c2.staticflickr.com/2/1710/23856168871_6df1faa565_c.jpg) 另一个插件有一大群追随者,我试图加入ace-jump-mode的粉丝群。拥有这个插件,你会体验到胜于鼠标的使用。简单的描述,通过触发ace-jump-mode您选择的快捷方式,你将被提示字符。输入一个字符,所有单词将会出现,独特的字母字符将突出显示。输入一个字母在屏幕上,和你的光标会直接跳转到词高亮显示。我不得不承认,这是让反射很难使用它,但是,一旦你拥有它,它会增加你的在一个文档里光标的移动速度。 ### 8. find-file-in-project ### ![](https://c2.staticflickr.com/2/1492/23570808809_96ec8454a9_c.jpg) 如果你喜欢Sublime text和它非常方便的“Ctrl-p”模糊搜索打开在一个项目中的任何文件,你将会喜欢上find-file-in-project(或ffip)。通过声明您的版本控制的根文件夹设置后,您可以轻松地收集一个快速扫描的很酷的标题文本并根据您输入的名称匹配的通过代码库搜索文件。我喜欢把它绑定到键盘上面F6键。如果你不知道从你的顶层目录到最基本文件的复杂结构,它很简单,很方便。 ### 9. Flymake ### ![](https://c2.staticflickr.com/6/5708/23310442354_cbba657ed3.jpg) IDE的爱好者,我认为语法检查器是IDE最强大的特性之一。它非常适合初学者和方便码累了的程序员。感谢Flymake,Emacs用户也可以享受语法检查器 。因为我工作很多需要PHP,Flymake不需要任何额外的配置。当我写代码的时候,它会自动检查我的代码和高亮任何一个包含一个问题的行。对于编译语言,Flymake将寻找一个Makefile,它将用来检查代码。绝对不可思议。 ### 10. electric-pair ###   最后,但并非最不重要,在我看来,electric-pair是最简单但最强大的插件之一。它就自动关闭括号或打开括号。它期初看起来不是很好,但相信我。第一百次挣扎后发现匹配的括号,你会很高兴有一个插件,确保你所有的表达式都是平衡的。      总结一下,Emacs是一个奇妙的工具。这可不是一个令人惊哑的说法。试试这些插件和看着你的效率直线飙升。这当然不是详尽的列表。如果你想带来你的贡献,请在评论中这样做。我自己一直在寻找新的插件来体验Emacs,也在找寻新方法来体验Emacs。 -------------------------------------------------------------------------------- via: http://xmodulo.com/best-plugins-to-increase-productivity-on-emacs.html 作者:[Adrien Brochard][a] 译者:[zky001](https://github.com/zky001) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]:http://xmodulo.com/author/adrien [1]:http://xmodulo.com/turn-vim-full-fledged-ide.html [2]:http://orgmode.org/worg/org-tutorials/ [3]:http://tuhdo.github.io/helm-intro.html