/awesome-emacs

A community driven list of useful Emacs packages, libraries and others.

Primary LanguageEmacs Lisp

Awesome Emacs

A community driven list of useful Emacs packages, libraries and others.

Most of the following packages are available in MELPA. We recommend installing packages via it.

Table of Contents

Interface Enhancement

  • IDO - [built-in] Interactively do things with buffers and files.
  • Helm - A powerful completion and selection narrowing framework.
  • Evil - An e xtensible vi l ayer: manipulate Emacs with Vi key binding.
  • tabbar - Display a tab bar in the header line.
  • sublimity - smooth-scrolling, minimap inspired by the sublime editor.
  • smex - A smart M-x enhancement for Emacs.

File Manager

  • Dired+ - Functional & interface enhancement to dired.
  • NeoTree - A emacs tree plugin like NERD tree for Vim.

Navigation

  • Helm-swoop - Efficiently jump between matched string/lines.
  • Ace jump - A quick cursor jump mode.
  • Minimap - A SublimeText-style minimap sidebar.
  • window-numbering - Use Alt + Number to jump between window directly instead of C-x o cycle.
  • anzu - displays current match and total matches.
  • goto-chg - Move point through buffer-undo-list positions.
  • linum-relative - display relative line number in the left margin in emacs.

Project management

  • Projectile - Project Interaction Library for Emacs.
  • Prodigy - Manage external services from within Emacs.

Programming

  • CEDET - [built-in] an advanced development environment in Emacs.
  • Xrefactory - A refactoring browser for Emacs.
  • YASnippets - Template system.
  • Helm-dash - Browse Dash docsets via Helm interface.
  • Paredit - Minor mode for editing parentheses. (Suitable used in Lisp/Scheme/Clojure…etc.)
  • evil-nerd-commenter - Comment/uncomment lines efficiently. Like Nerd Commenter in Vim. This program can be used independently without evil-mode.

Completion

  • Auto-Completion - An intelligent auto-completion extension with great interface.
  • Company - A text completion framework.

Code Folding

  • hideshow - [built-in] Folding regions by balanced-expression code.
  • hideshowvis - Based on hideshow, just display its nodes on fringe.

Error Checking

  • FlyMake - [built-in] on-the-fly syntax checks on files using external tools.
  • Flycheck - modern on-the-fly syntax checking meant to be a replacement to FlyMake

Language

Python

  • Jedi - A Python auto-completion package.
  • Elpy - An Emacs Python development environment.

Lisp

Common Lisp

  • SLIME - A fully-functional IDE for Common Lisp development, with debugger, REPL.

Scheme

  • Quack - Enhanced Emacs Support for Editing and Running Scheme Code.
  • Geiser - Intergrated development with Guile and Racket.

Web / JavaScript / CSS

  • js2-mode - Improved JavaScript editing mode.
  • skewer-mode - live interact with JavaScript, CSS, and HTML in a web-browser.
  • js-comint.el - Run an inferior javascript REPL process in Emacs.
  • web-mode - major mode for editing various html templates (PHP, JSP, ASP, ERB…etc).

SML

  • SML mode - a major Emacs mode for editing Standard ML source code.

OCaml

  • tuareg - a Caml mode for Emacs.
  • TypeRex - a set of tools for developing in OCaml.

Visual

  • undo-tree - Visualize the whole undo history in buffer as a tree, and you can access anywhere in it.
  • highlight-symbol - Auto/manually highlight the same symbols in code, navigate in them, or replace string.
  • rainbow-delimiters - Highlights parentheses, brackets, and braces according to their depth.
  • visual-regexp - Replace via RegExp, with real-time visual feedback directly in the buffer.
  • visual-regexp-steroids - The same as visual-regexp, but use modern regular expressions instead of Emacs-style.
  • rainbow-mode - [built-in] Display color on color-code string (hex/rgb) directly.
  • whitespace - [built-in] Visualize blanks (tab/space/newline).

Editing

  • Multiple cursors - Mark, edit multiple lines at once.
  • pangu-spacing - Minor-mode to automatically add space between CJK and Latin characters.
  • hungry-delete - Delete an entire block of whitespace at point.
  • Drag Stuff - Drag Stuff is a minor mode for Emacs that makes it possible to drag stuff (words, region, lines) around in Emacs.

Note

  • Org - [built-in] Write notes, GTD, authoring, publish and wash dishes.
  • Emacs Muse - a publishing environment for Emacs.

Version control

  • Magit - Interacting with git.
  • git-gutter - Indicator the modified lines via git diff.
  • git-timemachine - Step through historic versions of git controlled files.

Integration

Search

Ack

Ag

  • ag.el - An Emacs frontend to Ag (“the silver searcher” ack replacment)
  • helm-ag - Ag with helm interface

Pt

Pastebin

Google

LaTeX

  • AUCTeX - an extensible package for writing and formatting TeX files.
  • latex-preview-pane is a minor mode for Emacs that enables you to preview your LaTeX files directly in Emacs.

Communication

  • Twittering mode - Major mode for twitter.
  • ERC - [built-in] A powerful, modular, and extensible IRC client.
  • Riece - an IRC client for Emacs.
  • Rcirc - [built-in] Next generation irc client.

Appearance

Package Manager

  • package.el - [built-in] Install and manage Emacs packages easily.
  • el-get - apt-get style Emacs packages manager.

Fun

  • Nyan-mode - Let Nyan Cat show you your buffer position in mode line.
  • Zone Mode - [built-in] A buffer obfuscator, or a screensaver.
  • swimmers.el - An emacs screensaver.

Contributing

Your contributions are always welcome! Please submit a pull request or create an issue to add a new package, library or software to the list.

Generate “Table of Contents”

After editing and going to commit & push this list, you can update the table of contents with M-x awesome-emacs-gen-toc in README.org buffer.

Built-in tag

If a package is available in latest Emacs, please remember to add a [built-in] tag in the front of description.