Emacs awesome list
List of emacs great plugins and hacks
A list about best emacs plugins / hacks.
Found here : https://github.com/emacs-tw/awesome-emacs
Interface Enhancement
IDO - [built-in]
Interactively do things with buffers and files.
Icomplete - [built-in]
See the list of candidates while completing for any command. Can be made to behave more like Ido with `M-x fido-mode`.
Helm - (Formerly ‘Anything’) A powerful completion and selection narrowing framework. ( External Guides 1 )Ivy - flexible, simple tools for minibuffer completion in Emacs.
Ivy, a generic completion mechanism for Emacs. Counsel, a collection of Ivy-enhanced versions of common Emacs commands. Swiper, an Ivy-enhanced alternative to isearch.
prescient.el - Fast and intuitive frequency-and-recency-based sorting and filtering for Emacs.selectrum - Clean, stable, and intuitive incremental narrowing framework for Emacs.Orderless - Use space-separated search terms in any order when completing with Icomplete or the default interface.Snails - A modern, easy-to-expand fuzzy search framework.Icicles - An Emacs library that enhances minibuffer completion.smex - A smart M-x enhancement for Emacs.amx - An alternative M-x interface for Emacs.tabbar - Display a tab bar in the header line.awesome-tab - Out of box extension to use tab in Emacs. grouping buffers by projects and many awesome features.centaur-tabs
- Aesthetic, functional tabs plugin with icons and styles, Helm, Ivy
and Projectile integration, supported by many popular themes.winner - [built-in]
“Undo”(and “redo”) changes in the window configuration with the key commands.sublimity - smooth-scrolling, minimap inspired by the sublime editor.ElScreen - Utility for multiple screens.workgroups2 - Session manager, saves all your opened buffers, their location and sizes on disk to restore later.ace-popup-menu - Replace GUI popup menu with something more efficient.multi-compile - Multi target interface to compile.Dashboard - A startup dashboard which provides certain information about your recent Emacs activities.EXWM - EXWM turns Emacs into a full-featured tiling X window manager.
Helm-EXWM - EXWM-specific sources for Helm together with an application launchers and switches.
Zoom - Fixed and automatic balanced window layout for Emacs.Eyebrowse - A simple-minded way of managing window configs in emacs.Helpful - An enchancement of the Emacs built-in help system.
Key-bindings
Possibly help prevent keyboard related repetitive strain injury (RSI) from occurring.
Evil - An e xtensible vi l ayer: manipulate Emacs with Vi key binding.
Hydra - Make bindings that stick around.god-mode - Global minor mode for entering Emacs commands without modifier keys.modalka - Introduce native modal editing of your own design.ryo-modal - Inspired by modalka, ryo-modal provides useful features for creating your own modal editing environment.multistate - Use Evil-like binding states without predefined keybindings (Evil mode without vi).xah-fly-keys - A modal keybinding for emacs (like vim), but based on command frequency and ergonomics.ergoemacs-mode - Global minor mode to use both common interface keys and ergonomic keys for emacs.general - A convenient, unified interface for key definitions - like use-package but for key-bindings.
File Manager
Dired - [built-in]
Dir ectory Ed itor. A customizable great file manager.
Dired+ - Functional & interface extensions for Dired.dired-hacks - Collection of useful Dired additions.dired-k - Highlight Dired buffer by file size, modified time, git status.
NeoTree - A emacs tree plugin like NERD tree for Vim.Sr Speedbar - Same frame speedbar.
Direx - directory tree explorer.ztree - Directory tree comparison mode.Ranger - ranger like file manager based on Dired.Sunrise Commander - Twin-pane file manager for Emacs based on Dired and inspired by Midnight Commander.Treemacs - a tree layout file explorer for Emacs.Sidebar.el - A customizable file explorer with git integration for emacs.tramp-hdfs - Browse HDFS in Emacs with dired using Tramp.
Navigation
windmove - [built-in]
Tired with C-x o
? Now you can use shift+arrows
to jump between windows.Ace jump - A quick cursor jump mode.Avy - Jump to visible text using a char-based decision tree.iy-go-to-char - Go to next CHAR which is similar to “f” and “t” in vim, works well with Multiple Cursors.goto-last-change - Move point through buffer-undo-list positions.Helm-swoop - Efficiently jump between matched string/lines.CTRLF - An intuitive and efficient solution for single-buffer text search in Emacs.anzu - displays current match and total matches.imenu - [built-in]
Menus for accessing locations in documents.imenu-anywhere - IDO/Helm imenu tag selection across all buffers with the same mode.Minimap - A SublimeText-style minimap sidebar.switch-window - A visual replacement for C-x o
.ace-window - Quickly switch windows.ace-link - Quickly follow links in org-mode
, help-mode
, Info-mode
, and several other modes.back-button - Visual navigation through mark rings.bm - Visual Bookmarks, provides an easy way to navigate in a buffer.buffer-move - Move or swap buffer to other window.emacs-pophint - Provide navigation like the Vimperator/KeySnail Hint Mode of Firefox.vertigo.el - Jump lines using the home row.block-nav - Navigate by indentation block levels.emacs-spatial-navigate - Navigate by indentation and whitespace blocks.mwim - Toggle point between line positions of interest.
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.rainbow-mode - Colorize color names in buffers.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.
whitespace - [built-in]
Visualize blanks (tab/space/newline).linum-relative - display relative line number in the left margin in emacs.prettify-symbol-mode - [built-in]
displaying characters as fancy symbols (e.g. lambda
-> λ
).typo.el - Emacs extension for typographical editing.highlight-thing - Light-weight minor mode to highlight thing under point using built-ins.focus - Dim the font color of text in surrounding paragraphs.Solaire mode
- Visually distinguish file-visiting windows from other types of
windows (like popups or sidebars) by giving them a slightly different
background.beacon - Never lose your cursor again.dimmer.el - Interactively highlight which buffer is active by dimming the others.volatile-highlights.el - Minor mode for visual feedback on some operations in Emacs.color-identifiers-mode - Color Identifiers is a minor mode for Emacs that highlights each source code identifier uniquely based on its name.yascroll-el - Yet Another Scroll Bar Mode.goto-line-preview - Preview line when executing `goto-line` command.highlight-parentheses.el - highlight surrounding parentheses.literate-calc-mode - display live calc
results inlinemath-preview - Preview TeX equations inline
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.smart-hungry-delete - Delete whitespace between words, parenthesis and other delimiters in a (not very) smart way.Drag Stuff - Drag Stuff is a minor mode for Emacs that makes it possible to drag stuff (words, region, lines) around in Emacs.expand-region.el - Increase selected region by semantic units.multifiles.el - View and edit parts of multiple files in one buffer.lentic - Create views of the same content in two Emacs buffers.fix-word - Transform words in Emacs (upcase, downcase, capitalize).string-inflection - Conversion of text between lowercase, uppercase, camelcase etc.zzz-to-char - Fancy replacement for `zap-to-char`.ialign - Interactively align lines using a regular expression.artist-mode - [built-in]
Draw ASCII lines, squares, rectangles and poly-lines, ellipses, and circles with your mouse and/or keyboard.crux - A Collection of Ridiculously Useful eXtensions for Emacs.move-text - move current line or region up or down.undo-fu - An undo/redo system that advertises itself as being simpler than Undo Tree.undo-fu-session - Save undo history across sessions. Intended to work with, but not dependent on, undo-fu
.undo-propose - Navigate the emacs undo history by staging undo’s in a temporary buffer
Kill-ring
Popup-killring - Browse kill-ring with popup menu.Browse-kill-ring - Visually navigate kill-ring.easy-kill - Kill & Mark Things Easily in Emacs.clipmon - Clipboard monitor for Emacs. Monitors clipboard and pastes contents on change.simpleclip - Simplified access to the system clipboard.
Project management
Programming
CEDET - [built-in]
an advanced development environment in Emacs.C-xrefactory - refactoring tool and code browser for C and Java.YASnippets - A template system that allows you to type an abbreviation and automatically expand it into function templates.
tiny - Templates based on linear range transformations.evil-nerd-commenter - Comment/uncomment lines efficiently. Like Nerd Commenter in Vim. This program can be used independently without evil-mode.mmm-mode - allows Multiple Major Modes to coexist in one buffer (ex: Embedded CSS & JS in HTML file).SmartParens - Deals with parens pairs and tries to be smart about it.Aggressive-indent - Keeps your code always indented automatically.indent-guide - Show vertical lines to guide indentation.Doxymacs - Doxymacs is Doxygen + {X}Emacs.whitespace-cleanup-mode - Intelligently call whitespace-cleanup on save.ggtags - Emacs frontend to GNU Global source code tagging system.lsp-mode - Emacs client for the Language Server Protocol lsp-ui - An extension which adds code lenses and documentation pop-up for lsp-modeeglot - A client for Language Server Protocol servers.ws-butler - Unobtrusively trim extraneous white-space ONLY in lines edited.format-all - Auto-format source code in many languages using the same command.apheleia - Run code formatter on buffer contents without moving point, using RCS patches and dynamic programming.
Completion
Auto-Complete - An intelligent auto-completion extension with great interface.Company - A text completion framework.
flx - Fuzzy matching for Emacs like Sublime Text.abbrev - [built-in]
Abbreviation expander.emacs-ycmd - Emacs client for YCM.
Debugging
realgud - A modular front-end for interacting with external debuggers.dap-mode - An implementation of the debug adapter protocol used in VSCode and other editors.
Document
Helm-dash - Browse Dash docsets via Helm interface.eldoc - [built-in]
shows function arguments / variable doc in minibuffer when coding.
Code Folding
vimish-fold - Vim-like text folding.hideshow - [built-in]
Folding regions by balanced-expression code.
hideshowvis - Based on hideshow
, just display its nodes on fringe.
Origami.el - Feature rich text folding minor mode.
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
.
Jump to Definition
GNU Global - advanced source code tagging system with jump to definition functionality.Dumb Jump - easy jump to definition package for multiple languages using ag
or grep
.
Programming Language
C/C++
CC Mode - [built-in]
An Emacs and XEmacs mode for editing C and other languages with similar syntax.rtags - A C/C++ client/server indexer with for integration with emacs based on clang.emacs-ccls - Emacs client of ccls , a C/C++/Objective-C language server powered by clang.emacs-cquery - Emacs client of cquery , a C/C++/Objective-C language server powered by clang.irony-mode - A C/C++ minor mode for Emacs powered by libclang.cmake-font-lock - Enhanced font-lock rules for CMake.function-args - visual CEDET enhancements for C++.Ebrowse - [built-in]
A C++ class browser.cmake-ide - Configures other packages to consider compile options like include paths from cmake projects to improve e.g. autocompletion.
Python
Elpy - An Emacs Python development environment.anaconda-mode - Code navigation, documentation lookup and completion for Python.virtualenvwrapper.el - Manage virtualenv from inside Emacs.pipenv.el - Integrates pipenv to emacs providing useful commands.renpy-mode - Emacs major mode for working with the Ren’Py visual novel engine.
Ruby
rvm - Ruby versions manager within Emacs.bundler - Interact with gem Bundler from Emacs.inf-ruby - REPL buffer connected to a Ruby subprocess.enhanced-ruby-mode - Enhanced Ruby Mode replaces the emacs ruby mode that
comes with ruby. It uses the Ripper class found in ruby 1.9.2 (and later)
to parse and indent the source code.yari - Yet Another RI interface for Emacs.robe - Code navigation, documentation lookup and completion for Ruby.rubocop - A Ruby static code analyzer, based on the community Ruby style guide.motion-mode - A package to provide emacs’ major mode for RubyMotion enviroment.rspec-mode - An RSpec minor mode for Emacs.feature-mode - Emacs mode for editing Cucumber plain text stories.rinari - Rinari Is Not A Rails IDE (it is an Emacs minor mode for Rails).
Lisp Family
Paredit
- Minor mode for editing parentheses. Strict parenthesis auto-pairing
and easy depth adjustment. Compatible with Lisp/Scheme/Clojure.lispy - Minor mode
for editing parenthesis, evaluating and refactoring LISP code with
extremely short key bindings. Compatible with Lisp/Scheme/Clojure.Parinfer - Parinfer for Emacs, simpler Lisp editing.
Common Lisp
SLIME - A fully-functional IDE for Common Lisp development, with debugger, REPL.
common-lisp-snippets - Yasnippets for Common Lisp.
Scheme
Quack - Enhanced Emacs Support for Editing and Running Scheme Code.Geiser - Intergrated development with Guile and Racket.
Racket
Clojure
Emacs Lisp
highlight-defined - Highlight defined functions’ / variables’ name.ielm - [built-in]
A simple Emacs Lisp REPL.elmacro - Display keyboard macros or latest interactive commands as Emacs Lisp.suggest.el - Discover elisp functions that do what you want.easy-escape - Improve readability of escape characters in ELisp regular expressions.eros - Evaluation Result OverlayS for Emacs Lisp.
Web Development
web-mode - major mode for editing various html templates (PHP, JSP, ASP, ERB…etc).emmet - Emmet support for Emacs.web-beautify - Format HTML, CSS and JavaScript/JSON by js-beautify.skewer-mode - live interact with JavaScript, CSS, and HTML in a web-browser.impatient-mode - See your changes in the browser as you type.restclient.el - HTTP REST client tool for emacs.elnode - An evented IO webserver in Emacs Lisp.verb - Organize and send HTTP requests from Emacs.
JavaScript
js2-mode - Improved JavaScript editing mode.js-comint.el - Run an inferior javascript REPL process in Emacs.tern - Emacs flavor of the popular JavaScript analysis engine.json-mode - Major mode for editing JSON files.indium - A JavaScript development environment for Emacs.js2-refactor - A JavaScript refactoring library for emacs.rjsx-mode - A JSX major mode for Emacs.npm.el - Run your npm workflows in emacs.
CoffeeScript
coffee-mode - An Emacs major mode for CoffeeScript and IcedCoffeeScript.
TypeScript
Tide - TypeScript Interactive Development Environment for Emacs.
PureScript
PHP
php-mode - Major mode for PHP programming.phpunit.el - Launch PHP unit tests using phpunit.
Java
emacs-eclim - An Eclipse plugin which exposes Eclipse features through a server interface.malabar-mode - A better Java mode for Emacs.JDEE - The JDEE
is an add-on software package that turns Emacs into a comprehensive
system for creating, editing, debugging, and documenting Java
applications.meghanada-emacs - A Better Java Development Environment for Emacs.
Go
Gomode - Go mode rewrite for Emacs. Provides Go toolchain integration.Goflymake - Go syntax checker. Wrapper around Emacs flymake for Go.Gocode - An autocompletion daemon for the Go programming language.Goerrcheck - go-errcheck provides an easy way to invoke errcheck from within Emacs.Go-playground - Local playground for Go code snippets.GoRepl - A minor emacs mode for Go REPL.gotest.el - Launch GO unit tests.emacs-go-tag - Edit field tags for golang struct fields, based on gomodifytags flycheck-golangci-lint - Flycheck checker for golangci-lint
C#
Rust
rust-mode - An Emacs major mode for editing Rust code.flycheck-rust - Better Rust/Cargo support for Flycheck.emacs-racer - Racer support for Emacs.cargo.el - Cargo support for Emacs.rustic - A fork of rust mode with improvements and configurations for things such as flycheck and lsp-mode.
Erlang
erlang - The official Erlang mode for Emacs.distel - Distel
is a library for Emacs<->Erlang communication, plus a suite of
tools built on top of it, such as a debugger front-end.EDTS - EDTS is meant to be a able to replace Distel but only provides part of the most commonly used of Distel’s features.Wrangler - Wrangler is a mode that supports interactive refactoring of Erlang programs.
Elixir
Haskell
External Guides:
Swift
Scala
Ensime - ENhanced Scala Interaction Mode for Emacs.sbt-mode - An emacs mode for interacting with scala sbt and projects.Metals - Scala language server with rich IDE features
Lua
lua-mode - A major mode for editing Lua sources in Emacs.
Makefile
SML
SML mode - a major Emacs mode for editing Standard ML source code.
Gdscript
gdscript-mode - An Emacs package to get GDScript support and syntax highlighting.
Groovy
groovy-emacs-modes - A collection of modes for use with Groovy-related technology – Groovy, Grails, etc.grails.el - A minor mode for Grails projects.
Kotlin
R
ESS - Emacs
Speaks Statistics (ESS) supports editing of scripts and interaction
with various statistical analysis programs such as R, S-Plus, SAS, Stata
and OpenBUGS/JAGS.
Julia
julia-mode - Major mode for editing Julia source code.
OCaml
tuareg - a Caml mode for Emacs.TypeRex - a set of tools for developing in OCaml.Merlin - an assistant for editing OCaml code.
ReasonML
Nim
nim-mode - An Emacs major mode for editing Nim code.
D
Raku
raku-mode - An Emacs major mode for editing Raku code.
Elm
elm-mode - An Emacs major mode for editing Elm code.
Stan
stan-mode - An Emacs major mode for editing Stan code.
MIPS Assembly
mips-mode - An emacs major mode for editing MIPS assembly.
RISCV Assembly
riscv-mode - An emacs major mode for editing RISCV assembly.
Verilog
verilog-mode - Emacs major
mode for verilog with Indentation, Hightlighting and AUTOs.
LAMMPS
Keys Cheat Sheet
which-key - Display available key bindings in popup. Rewrite of guide-key with added features to improve display.helm-descbinds - Helm interface for Emacs’ describe-bindings
.guide-key - Displays the available key bindings automatically and dynamically.guide-key-tip - Tooltip version of guide-key.discover-my-major - Discover key bindings and their meaning for the current Emacs major mode.discover.el - Discover more of emacs with well-categorized context menus.cheatsheet - Create your own customized cheatsheet.
Note
Emacs Muse - a publishing environment for Emacs.Fountain Mode - a full-featured screenwriting environment for GNU Emacs using the Fountain markup format.guess-language - Robust automatic language detection (e.g. Arabic, Czech, Danish, etc).emacs-powerthesaurus - Powerthesaurus integration for Emacs.
Org-mode
Org - [built-in]
Write notes, GTD, authoring, publish and wash dishes.
org-page - A static site generator based on org-mode files.org-ioslide - Export Org document into Google I/O HTML5 slide.org-bullets - Shows org-mode bullets as pretty UTF-8 characters.org-trello - Minor mode to synchronize org-mode buffer and trello board.org-protocol-capture-html - Capture HTML from the browser selection into Emacs as org-mode content.org-brain - Org-mode wiki + concept-mapping.org-cliplink - Insert org-mode links from clipboard.helm-org-rifle - Rifle through your Org buffers and acquire your target.org-download - Drag and drop images to Emacs org-mode.org-html-themes - Export Org mode files into awesome HTML in 2 minutes.org-super-agenda - Help organize your agenda items into tidy groups.org-noter - Annotate documents with a synchronized org-mode buffer alongside them.org-sort-tasks - Functions to keep TODO tasks in orgmode sorted and organized.org-web - Web app for viewing and editing org files online, optimized for mobile use.org-roam - a Roam replica built on top of the all-powerful Org-mode.
toc-org - Generate TOC for Org files.
Version control
Magit - Interacting with git.
forge - Work with Git forges, such as Github and Gitlab, from the comfort of Magit.magithub - Magit interfaces for GitHub.magit-todo - Show TODO’s and FIXME’s within a magit status buffer.magit-svn - git svn integration for magitmagit-lfs - git lfs integration for magit
VC - [built-in]
Emacs version control interface works with several different version
control systems including Bazaar, CVS, Git, Mercurial, Monotone, RCS,
SCCS/CSSC, and Subversion.github-clone.el - Fork and clone Github projects from Emacs.git-rebase-mode - Major mode for editing git rebase files.git-timemachine - Step through historic versions of git controlled files.git-gutter - Indicates modified lines via git diff. [Unmaintained, consider using diff-hl
instead.]diff-hl - Highlights uncommitted changes. Works with several different VC systems. An actively-maintained alternative to git-gutter
.git-messenger - popup commit message at current line to know why this line was changed.browse-at-remote - Open page at github/bitbucket from emacs buffers.git-link - Get the GitHub/Bitbucket/GitLab etc… URL for a buffer location.monky - An interactive interface for mercurial.aHg - An Emacs front-end for the Mercurial SCM.git-undo - A command for Emacs to regress or “undo” a region back through its Git history.
For additional git related emacs packages to use or to get inspiration from, take a look at the following resource: https://github.com/tarsius/git-elisp-overview .
Integration
Console
EShell - [built-in]
A shell-like command interpreter implemented in Emacs Lisp.Term - [built-in]
A terminal emulator in Emacs.multi-term - Managing multiple terminal buffers in Emacs.vterm - A fully-fledged terminal emulator inside Emacs based on libvterm .exec-path-from-shell - Get environment variables such as $PATH from the shell for Mac user.eshell-prompt-extras - Display extra information and color for your eshell prompt.shell-pop - Quickly toggle a shell with one key action.eshell-up - Quickly navigate to a specific parent directory in eshell without having to repeatedly typing cd ..
.fasd - Emacs integration for the command-line productivity booster fasd.esh-autosuggest - Fish-like history autosuggestions in Eshell.fish-completion - Fallback on fish shell completion for M-x shell
and Eshell.
Operating System
Emacs Application Framework - EAF’s extensibility allows one to interact with PyQt
GUI applications, so that one can develop any PyQt application and
integrate it into Emacs (e.g. web browser, video player, camera, rss
reader, etc).Symon - Tiny graphical system monitor.restart-emacs - A simple emacs package to restart emacs from within emacs.Helm System Packages - A Helm interface to the package manager of your operating system.system-packages - Manage your installed packages with emacs.theme-magic - Apply your Emacs theme to the rest of Linux.spotlight - Emacs package to query macOS Spotlight.osx-lib - Emacs functions for macOS.osx-trash - Make delete-by-moving-to-trash
do what you expect it to do on macOS.
Search
wgrep - Writable grep/ack/ag/pt buffer and apply the changes to files.
Ack
full-ack - An Emacs front-end for ack.ack-el - Emacs Interface to Ack-like Tools.
Ag
ag.el - An Emacs frontend to Ag (“the silver searcher” ack replacment).helm-ag - Ag with helm interface.
Pt
Sift
sift.el - Front-end for sift , a fast and powerful grep alternative.
Ripgrep
deadgrep - Deadgrep is the fast, beautiful text search that your Emacs deserves.rg.el - Emacs search tool based on ripgrep.ripgrep.el - Emacs front-end for ripgrep , a command line search tool.color-rg.el – Search and refacotry tool base on ripgrep, integrate edit feature like wgrep, don’t need install wgrep added.
Pastebin
Google
Blog System
Hyde - An Emacs mode to manage Jekyll blogs.hexo.el - A frontend UI of Hexo for Emacs.blog-admin - Write blog in emacs with hexo/org-page/nikola.blog-minimal - A simple static site generator based on org mode.ox-hugo - Export Org subtrees/files to Markdown with front-matter for Hugo static site generator.
Markdown
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.RefTeX - [built-in]
Adds support for labels, references, citations, and index entries.
PDF
PDF Tools - major mode for rendering PDF files, much better than DocView, and has much richer set of features.pdf-view-restore
- addition to PDF Tools which saves the current position in a PDF to
resume reading at that place even after the buffer has been closed or
emacs restarted.
Internet
Browser
EWW - [built-in]
EWW, the Emacs Web Wowser, is a web browser for Emacs.
Mail
Gnus - [built-in]
Reading e-mail and Usenet news.Messages - [built-in]
Composing and sending e-mail inside Emacs.mu4e - An e-mail client for Emacs.
notmuch - A mail indexer which can serve as a complete client with its emacs integration.Wanderlust - A powerful email and Usenet client for Emacs (IMAP4rev1, NNTP, POP(POP3/APOP), MH/Maildir).mew - A very easy to use e-mail reader and client for Emacs.
IRC
ERC - [built-in]
A powerful, modular, and extensible IRC client.Riece - An IRC client for Emacs.Rcirc - [built-in]
Next generation IRC client.Circe - A Client for IRC in Emacs.
Chat
Weechat.el - A Weechat-relay client for Emacs.slack - slack client for Emacs.
Social Network
Twittering mode - Major mode for Twitter.SX - Stack Exchange for Emacs.
howdoi - Instant coding answers via Emacs, a way to query Stack Overflow directly from within Emacs.
weibo.emacs - Sina weibo client in Emacs.Mastodon.el - An Emacs client for Mastodon.
Web Feed
Elfeed - RSS/Atom Reader for Emacs.
elfeed-org - An extension for Elfeed which lets you define all feeds in an Org file.
Newsticker - [built-in]
RSS/Atom Reader for Emacs.
DevOps
chef-mode - Emacs mode to edit Chef repositories.emacs-ansible - Ansible minor mode.puppet-mode - Edit Puppet 3 manifests with GNU Emacs 24.salt-mode - Edit Salt States with GNU Emacs 24.docker - Emacs interface to Docker, manipulate docker images, containers & more from Emacs.terraform-mode - Terraform mode to edit terraform files.kubernetes-el - A magit-style interface to the Kubernetes command-line client.kubel - Emacs extension for controlling Kubernetes with limited permissions.
Package Management
Package Manager
package.el - [built-in]
Install and manage Emacs packages easily.
paradox - Modernizing Emacs’ Package Menu with package ratings, usage statistics, customizability & more.package-utils - Interactive extensions for package.el .try - Try out Emacs packages.
el-get - apt-get style Emacs packages manager.cask - Manage dependencies for your local Emacs configuration and automate the package development cycle.
pallet - A package management tool for Emacs, built on Cask.
quelpa - Build and install your Emacs Lisp packages on-the-fly directly from source.homebrew-emacs - Homebrew tap for installing Emacs packages.borg - Assimilate Emacs packages as Git submodules.straight.el - Next-generation, purely functional package manager for the Emacs hacker.
Package Configuration
use-package - A declaration macro to isolate package configuration in a way that is performance-oriented and tidy.
req-package - A use-package wrapper for package runtime dependencies management.
no-littering - Help keeping ~/.emacs.d clean.
Package Updates
Config Management
ESUP - Emacs Start Up Profiler. Benchmark Emacs Startup time without ever leaving your Emacs.Chemacs , Chemacs2
- Ease testing of different emacs setups, an Emacs profile switcher
which assists running multiple Emacs configurations side by side.elisp-bug-hunter - Debug and bisect your init file for errors or assertions.explain-pause-mode - Monitor interactions to discover configurations or packages which slow down Emacs.
Library
dash.el - A modern list library.seq.el - [built-in]
Sequence manipulation functions.cl-lib.el - [built-in]
Common Lisp extensions for Emacs.s.el - String manipulation library.ht.el - The missing hash table library for Emacs.f.el - Modern API for working with files and directories in Emacs.emacs-async - Simple library for asynchronous processing in Emacs.ov.el - Overlay library for Emacs Lisp.Names - A Namespace implementation for Emacs Lisp.emacs-deferred - Simple asynchronous functions for Emacs Lisp.EIEIO - [built-in]
EIEIO (“Enhanced Implementation of Emacs Interpreted Objects”) provides an Object Oriented layer for Emacs Lisp.popup.el - Visual Popup Interface Library for Emacs.alert - A Growl-like alerts notifier for Emacs.gh.el - GitHub API library for Emacs.request - A HTTP request library with multiple backends.websocket - A websocket implementation in elisp, for emacs.indicators.el - Display the buffer relative location of line in the fringe.pos-tip - Show tooltip at point.jeison - A library for declarative JSON parsing.ts.el - A timestamp and date-time library for Emacs.el-patch - Future-proof your Emacs Lisp customizations and automatically notify you about upstream changes that might break your hacks.
Appearance
powerline - Emacs version of the Vim powerline.powerline-evil - Utilities for better Evil support for Powerline.smart-mode-line - A sexy mode-line for Emacs.spaceline - Powerline theme from Spacemacs.telephone-line - A new implementation of Powerline for Emacs.mode-icons - Show icons instead of mode names.emojify - Display emojis in Emacs.awesome-tray - Display mode-line information at right of minibuffer.highlight-indent-guides - Highlight indentation.diminish - Diminished modes are minor modes with no modeline display.doom-modeline - A mode-line package included in Doom and Centaur emacs.all-the-icons - A package used to include fancy icons within emacs.blackout - Customize or hide the display of major and minor modes in the mode line.mode-line-idle - Evaluate mode-line elements when idle, displaying detailed information without sacrificing performance.
Theme
Zenburn - (dark) Vim’s “Zenburn theme” ported to Emacs.Solarized - (light/dark) Solarized color theme.Doom-themes - (theme pack) UI plugin and pack of themes extracted from Doom Emacs.Sanityinc-tomorrow - (light/dark) An Emacs version of “Tomorrow-themes”.Monokai - (dark) A port of the popular TextMate theme Monokai.Cyberpunk-theme - (dark) [256color] Mostly a direct port of the “Cyberpunk Overtone theme”.Ample-theme - (light/dark) [256color] A low-contrast theme for Emacs.Moe-theme - (light/dark) [256color] A customizable colorful eye-candy theme. Moe, moe, kyun!Leuven-theme - [built-in]
(light) Awesome Emacs color theme for white backgrounds.Grandshell-theme - (dark) [256color] Theme with intensive colors.Poet - (light/dark) A lightweight theme that plays well with prose and org-mode.Kaolin-themes - (theme package) Set of eye pleasing themes for GNU Emacs. Supports both GUI and terminal.Wilmersdorf-theme - (dark) Emacs theme with dark subtle syntax highlighting.Tron-Legacy-Theme - (dark) Custom theme inspired by Tron: Legacy.Modus Themes - (light/dark)
Accessible themes for GNU Emacs, conforming with the highest
accessibility standard for colour contrast between background and
foreground values (WCAG AAA standard).
The above list contains some of the most popular/installed themes. You can also take a look at GNU Emacs Themes Gallery for screenshots of almost all available Emacs themes. Another amazing collection of themes can be found at Peach Melpa ,
an Emacs themes showcase automatically retrieved from MELPA. Themes are
refreshed daily and automatically screenshot for browsing at peach-melpa.org .
Multimedia
mpc - [built-in]
An Emacs front end to the Music Player Daemon.EMMS - The Emacs Multimedia System.Bongo - A flexible and usable media player for GNU Emacs.Dionysos - A simple music player for Emacs.Mingus - An Emacs front end to the Music Player Daemon with an interface that resembles ncmpc.csound-mode - Emacs major mode for coding in Csound.eradio - An Internet radio player
Finance
Fun
Nyan-mode - Let Nyan Cat show you your buffer position in mode line.Zone Mode - [built-in]
A buffer obfuscator, or a screensaver.minesweeper.el - An implementation of minesweeper in emacs.2048-game.el - An implementation of 2048 in emacs.emacs-xkcd - Read xkcd from emacs.gnugo - Play GNU Go in a buffer.Pacmacs - Pacman-like game for Emacs.parrot - Rotate text and Party Parrot at the same time.speed-type - Practice speed/touch typing in Emacs.spray - A speed reading mode for Emacs.fsc.el - Fuck the Speeching Censorship!wttrin - Emacs frontend for weather web service wttr.in.fireplace - A cozy fireplace for emacs.clippy - Show tooltip with function documentation at point.Landmark - a neural network that trains a robot to find a tree.Selectric Mode - Make your Emacs sound like a proper typewriter.key-quiz - Key Quiz game for Emacs.
Music
lilypond-mode - default emacs mode for lilypond editing.lyqi - 3rd party emacs mode for LilyPond editing.alda-mode - emacs mode for alda , a music programming language for musicians written in java and clojure.Scel - SuperCollider/Emacs interface
Screencasting
Starter Kit
Tutorials
Links and resources