title: Emacs category: page slug: emacs sortorder: 0204 toc: False sidebartitle: Emacs meta: Emacs 是一个可扩展,易定制的文本编辑器,通常用于编写代码。 在 Full Stack Python 上了解更多 Emacs 知识。 authors: haiiiiiyun.github.io updated: 2016-06-06 20:43

Emacs

Emacs 是一个可扩展的文本编辑器,可以通过编写 Lisp 代码来定制。

为什么说 Emacs 适合用来编写 Python 代码?

Emacs 旨在可以通过内置的 Lisp 解释器和包管理器进行定制。它的包管理器叫 package.el,具有安装管理功能。其最大的 Lisp 软件包仓库是 Melpa,它能获取软件源上的数据并提供自动更新。

在 Emacs 中,宏对于执行重复的动作非常有用。宏就是对之前一组按键序列的记录,并通过重放该记录来执行之前的动作。

所谓挂勾,就是包含一组可调用函数的 Lisp 变量,它是 Emacs 的一种扩展机制。例如,kill-emacs-hook 能在 Emacs 退出前运行,从而使那些函数能被导入到那个挂勾中,以便在退出工作完成前执行必要的操作。

当你在阅读有关使用 Emacs 编写 Python 代码的知识时,可以去了解下使用何种Web 框架如何部署一个应用

常用 Emacs 资源

著名的 Elisp 软件包

  • Magit 能让用户在 Emacs 中检查和修改 Git 仓库。

  • company-mode 发明了一种模块化的内存代码补全框架。

  • Flycheck 提供语法检查。

  • anaconda-mode 专用于 Python 开发,允许进行代码浏览跳转、文档查找和代码补全。其核心使用 jedi 库实现。

  • Tern 是一个独立的 JavaScript 代码分析引擎。它能通过 tern-django 包与 Django 项目进行整合。

流行的用户配置

  • Prelude 是一个 Emacs V24 的增强版。

  • A reasonable Emacs config 展示了一套功能完备的 Emacs 配置方案。

  • Emacs settings 这个库包含了 Emacs Rocks 上的屏幕录像里用到的所有 Emacs 配置。

  • Spacemacs 整合了 Emacs 的扩展性和 Vim 的符合人体工程学的文本编辑功能。