暴增 Emacs 生产力的十大最佳插件

简介:

暴增 Emacs 生产力的十大最佳插件



一年前的这个时候,我想要寻找将 Vim 打造成一个成熟的全功能的 IDE 的最好插件。有趣的是,那篇文章的很多评论提到了 Emacs 已经大部分有了这些内置插件,已经是一个很棒的 IDE 了。尽管我对 Emacs 的难以置信的多样化表示赞同,它依旧不是一个可以开箱即用的高级编辑器。还好,其庞大的插件库可以解决这个问题。但在过多的选择中,有时很难弄清该如何入手。因此,现在让我试着收集一个不可或缺的插件的简短列表,来提升你使用 Emacs 时的工作效率。 虽然我主要侧重于与编程相关的生产力提升,但是这些插件对所有人或不同用途都是有用的。

暴增 Emacs 生产力的十大最佳插件

1. Ido-mode

Ido 或许是对新手最有用的一个插件,Ido 的意思是交互式工作interactively do。它取代了大部分的用花哨字符匹配菜单的枯燥提示。好比说,它用列出了当前目录所有文件的列表来取代了常规的打开文件提示符。输入一些字符,Ido 将尝试匹配最合适的文件。它通过可视化让你的操作变得更容易,这也是一个快速遍历所有文件都有相同前缀的文件夹的方法。

2. Smex

它不算最著名的一个、但却是一个替代 Ido-mode 的好选择:Smex 可以优雅的替代普通的M-x提示符,灵感大部分来自于 Ido-mode。它也给调用M-x后输入的命令带来了同样的交互搜索能力。它简单而有效,是一个为常用操作提升效率的最好方法。

3. Auto Complete

知道这个插件的存在之前,我在 Emacs 里面有一半的时间花在敲击 M-/ 来补完单词上。现在,我有一个漂亮的弹出菜单可以为我做自动补全。无须多说,我们都需要它。

4. YASnippet

这是真正的程序员必备利器。总有一些代码片段会让我们觉得我们一辈子都在写它。对我来说,就是调试 PHP 时不断输入的 var_dump(...);exit;。经过一段时间一遍又一遍的输入var_dump(...);exit;,我觉得我可以预先把其做成录制好的、方便用到的代码片段。使用 YASnippets,可以很容易导入代码片段文件或者自己做个。之后,只要按下一个 tab 键,就可以将一个小的关键词扩展成一大段预先写好的代码,然后可以很方便地在里面修改。

5. Org-mode

免责声明,我最近才开始使用 Org-mode,但它已经深深的吸引了我。从我看过数以百计的文章来说,Org-mode 可以改变你的生活。它背后的想法很简单:它是一种用普通文本做简单备注的模式,可以很容易地在任务列表和各种数据中转来转去,并进行一些比如按优先级或到期日期的过滤,或设置一个重复日期。然而,虽然思路简单,但你可以做到很多,用各种方法用于各种用途。与其去看一个长长的介绍,我觉得你可以去读读现有教程,有很多视频可以看,自己去体验一下 Org-mode 是多么强大。

6. Helm

一些使用者喜欢它,但是其他人没有这么大的使用热情。我是后者的一部分。但在拥有这样一个庞大的追随者的情况下,是不能不提到它的。Helm 旨在完全变换你的 Emacs 使用体验。简单来说,Helm 是一个在 Emacs 中帮助你快速找到一个文件或命令的框架。根据你的输入,它将尝试使用词语自动完成来引导你将大脑的念头变为行动。起初感觉有点奇怪,但对一些人来说,Helm 本身就是一个信仰。虽然我不是 Helm 的粉丝,我欣赏 helm-occur 这一个伟大的工具可以在一个大文档搜索字符串并且在一个单独的缓冲区显示所有匹配结果,以便很容易在它们之间跳转。如果你正在寻找一个快速演示来了解 Helm 能做什么,我推荐这篇文章

7. ace-jump-mode

这是另一个有一大群追随者的插件,我正在试图成为 ace-jump-mode 的粉丝。掌握这个插件,你会体验到超越鼠标感受。简单描述一下,通过你选择的快捷方式触发 ace-jump-mode 后,你会被提示输入字符。输入一个字符,所有以该字符开头的单词中的那个字符就会替换成一个唯一字符并被高亮。输入一个屏幕上的高亮字符,你的光标会直接跳转到高亮显示的那个词。我不得不承认,这让我使用它时有点反应不过来,但是,一旦你掌握它,它将显著提升你在一个文档里的移动速度。(LCTT 译注:用文字描述比较困难,如截图中,你输入的是一个“i”,然后屏幕中所有以“i”开头的单词中的那个“i”都被替换成了从 a 到 z 的字符,并高亮;你可以输入这些高亮的字符直接跳转到那个位置。)

8. find-file-in-project

如果你喜欢 Sublime text 以及它可以用非常方便的Ctrl-p模糊搜索来打开一个项目中的任何文件的功能,你将会喜欢上 find-file-in-project (简称 ffip)的。使用设置指定了您的版本控制的根文件夹后,您可以轻松地调出一个很酷的文本条,通过快速扫描和搜索你的代码,来根据你输入的名称找到匹配的文件。我喜欢把它绑定到键盘上的 F6 键。如果你不知道整个目录从上到下的复杂结构,这很简单,而且非常易用。

9. Flymake

对 IDE 的爱好者来说,我认为语法检查器是 IDE 最强大的特性之一,它非常适合初学者和方便了那些疲惫的程序员。感谢 Flymake,Emacs 用户也可以享受到了语法检查器。因为我工作中用 PHP 很多,Flymake 就不需要任何额外的配置。当我写代码的时候,它会自动检查我的代码和高亮任何一个包含问题的行。对于编译语言,Flymake 将寻找一个用于检查你的代码的 Makefile。真神奇。

10. electric-pair

最后,但并非最不重要,在我看来,electric-pair 是最简单但最强大的插件之一。它会自动关闭你输入的括号。它起初看起来并不是很有用,但相信我,在被寻找配对括号折磨几百次之后,你会很高兴有这么一个插件,可以确保你所有的表达式的括号都是一一对应的。

总结一下,Emacs 是一个奇妙的工具。这可不是一个令人惊讶的说法。试试这些插件,看着你的效率直线飙升吧。这个列表当然不是详尽的列表。如果你想贡献你的建议,请在评论中这样做。我自己一直在寻找新的插件来试着发现 Emacs 的新体验。




本文来自云栖社区合作伙伴“Linux中国”

原文发布时间为:2013-04-02.


相关文章
|
24天前
|
数据可视化
如何使用“黑科技”软件提升生产力
日程安排软件是现代职场和个人生活的必备工具,能帮助用户高效管理时间,清晰规划任务,提供及时提醒,提高工作效率。其可视化功能和跨设备同步特性,使任务管理更加便捷,无论何时何地都能保持井井有条。适合各行业人士使用,助力实现生活与工作的完美平衡。
|
2月前
|
Linux 开发者 iOS开发
跨界英雄Python:一招搞定跨平台兼容性难题🎯
【10月更文挑战第2天】Python 作为一种现代且灵活的编程语言,在处理跨平台兼容性方面表现出色。其标准库如 `os` 和 `pathlib` 以及第三方库使开发者能轻松编写高可移植性的代码。通过文件系统操作、执行外部命令及使用 Tkinter 创建 GUI 等示例,Python 展现了其强大的跨平台能力,让开发者专注于业务逻辑而非平台差异。掌握这些技巧,你将能在不同操作系统间游刃有余。
39 4
|
4月前
|
数据挖掘 数据库 数据安全/隐私保护
有这10个Python脚本加持,这才是网工的生产力!
有这10个Python脚本加持,这才是网工的生产力!
|
4月前
|
运维 应用服务中间件 Apache
震撼登场!Ansible roles 化身自动化运维神器,打破传统束缚,开启运维新时代!
【8月更文挑战第9天】Ansible是一款强大的自动化运维工具,其Roles功能将复杂任务分解为可复用模块,提升代码的可读性、可维护性和可扩展性。通过创建结构化的目录,如tasks、handlers和vars等,可以清晰地组织配置与任务。例如,为Web服务器创建一个Role,包含安装Apache、启动服务等任务,并可在不同的Playbook中重复使用此Role,简化大型集群的配置管理工作,提高效率和质量。
47 6
|
4月前
|
开发者 Android开发 iOS开发
Xamarin开发者的神器!揭秘你绝不能错过的插件和工具,让你的开发效率飞跃式提升
【8月更文挑战第31天】Xamarin.Forms 是一个强大的框架,让开发者通过单一共享代码库构建跨平台移动应用,支持 iOS、Android 和 Windows。使用 C# 和 XAML,它简化了多平台开发流程,保持一致的用户体验。本指南通过创建一个简单的 “HelloXamarin” 应用介绍 Xamarin.Forms 的基本功能和工作原理。首先配置 Visual Studio 开发环境,然后创建并运行一个包含标题、按钮和消息标签的示例应用,展示如何定义界面布局及处理按钮点击事件。这帮助开发者快速入门 Xamarin.Forms,提高跨平台应用开发效率。
52 0
|
4月前
|
开发者 算法 虚拟化
惊爆!Uno Platform 调试与性能分析终极攻略,从工具运用到代码优化,带你攻克开发难题成就完美应用
【8月更文挑战第31天】在 Uno Platform 中,调试可通过 Visual Studio 设置断点和逐步执行代码实现,同时浏览器开发者工具有助于 Web 版本调试。性能分析则利用 Visual Studio 的性能分析器检查 CPU 和内存使用情况,还可通过记录时间戳进行简单分析。优化性能涉及代码逻辑优化、资源管理和用户界面简化,综合利用平台提供的工具和技术,确保应用高效稳定运行。
93 0
|
7月前
|
缓存 监控 数据库
提升安卓应用性能的十大技巧
【5月更文挑战第30天】 在竞争激烈的应用市场中,一个流畅、高效的应用体验是吸引和保留用户的关键。对于安卓开发者来说,优化应用的性能是一个持续的挑战。本文将深入探讨十个实用的技巧来提升安卓应用的性能,包括内存管理、UI渲染、多线程处理等关键领域。这些技巧不仅有助于改善应用的响应速度和稳定性,还能确保在不同设备上的兼容性和效率。通过实践这些策略,开发者能够为用户提供更加流畅和愉悦的使用体验。
|
安全 Linux Windows
五款非常轻便的实用小工具
大伙们,开工大吉!
171 0
五款非常轻便的实用小工具
|
数据采集 语音技术 索引
赠人玫瑰,手有余香,分享五款黑科技软件
赠人玫瑰,手有余香,分享五款黑科技软件
254 0
赠人玫瑰,手有余香,分享五款黑科技软件
|
数据可视化 数据安全/隐私保护 Python
开发了一款小众开源工具,没想到还有这么多人用!
由于 Gitee Pages 的访问速度很快,很多朋友会选择 Gitee Pages 部署项目(如:个人博客、开源项目国内镜像站点)。但是它不像 GitHub Pages 那样,一提交代码就能自动更新 Pages,因为 Gitee 的自动部署属于 Gitee Pages Pro 的服务。
310 0
开发了一款小众开源工具,没想到还有这么多人用!