Fork me on GitHub

Ranked awesome lists, all in one place

This list is a copy of emacs-tw/awesome-emacs with ranks


Welcome to Awesome Emacs, a community driven list of useful Emacs packages, utilities and libraries. Most of the following packages are available in [[https://github.com/melpa/melpa][MELPA]]. We recommend installing packages with it.

Also, please do consider contributing back to the Emacs community. One major way is by financially sponsoring the lead developers and teams of developers that create and maintain the wonderful Emacs packages that so many of us use. [[https://github.com/tarsius/elisp-maintainers][Elisp Maintainers]] provides a fantastic collection of ways that one can donate to several prolific Emacs package developers. Please do so donate.

Above, all enjoy using Emacs. The community, that more than anything, makes Emacs a great ecosystem and place to develop, learn and grow.

#+BEGIN_QUOTE Table of Contents

** Interface Enhancement

** Key-bindings #+BEGIN_QUOTE Possibly help prevent keyboard related repetitive strain injury (RSI) from occurring. #+END_QUOTE - [[https://github.com/emacs-evil/evil][Evil]] - An *e xtensible vi l ayer: manipulate Emacs with Vi key binding. - [[https://github.com/emacs-evil/evil-collection][Evil Collection]] - A collection of Evil bindings. - [[https://github.com/emacs-evil/evil-ediff][Evil Ediff]] - Evil bindings for Ediff. - [[https://github.com/emacs-evil/evil-magit][Evil Magit]] - Evil bindings for Magit. - [[https://github.com/JorisE/evil-mu4e][Evil mu4e]] - Evil bindings for mu4e. - [[https://github.com/noctuid/lispyville][LispyVille]] - Evil bindings for lispy-mode. - [[https://github.com/abo-abo/hydra][Hydra]] - Make bindings that stick around. - [[https://github.com/chrisdone/god-mode][god-mode]] - Global minor mode for entering Emacs commands without modifier keys. - [[https://github.com/mrkkrp/modalka][modalka]] - Introduce native modal editing of your own design. - [[https://github.com/xahlee/xah-fly-keys][xah-fly-keys]] - A modal keybinding for emacs (like vim), but based on command frequency and ergonomics. - [[https://github.com/ergoemacs/ergoemacs-mode][ergoemacs-mode]] - Global minor mode to use both common interface keys and ergonomic keys for emacs.

** File Manager

** Navigation

** Visual

# For contributors: Don’t confuse this category with the “Appearance” category – basically # useless packages except for being good-looking. Packages in this section are # usable for editing.

** Editing

*** Kill-ring

** Project management

** Programming

*** Completion

- [[https://github.com/auto-complete/auto-complete][Auto-Complete]] - An intelligent auto-completion extension with great interface.
- [[https://company-mode.github.io/][Company]] - A text completion framework.
  - [[https://github.com/expez/company-quickhelp][company-quickhelp]] - Documentation popups for company.
- [[https://github.com/lewang/flx][flx]] - Fuzzy matching for Emacs like Sublime Text.
- [[https://www.emacswiki.org/emacs/AbbrevMode][abbrev]] - =[built-in]= Abbreviation expander.
- [[https://github.com/abingham/emacs-ycmd][emacs-ycmd]] - Emacs client for YCM.

*** Document

*** Code Folding

- [[https://github.com/mrkkrp/vimish-fold][vimish-fold]] - Vim-like text folding.
- [[https://www.emacswiki.org/emacs/HideShow][hideshow]] - =[built-in]= Folding regions by balanced-expression code.
  - [[https://www.emacswiki.org/emacs/download/hideshowvis.el][hideshowvis]] - Based on =hideshow=, just display its nodes on fringe.
- [[https://github.com/gregsexton/origami.el][Origami.el]] - Feature rich text folding minor mode.

*** Error Checking

- [[https://www.emacswiki.org/emacs/FlyMake][FlyMake]] - =[built-in]= on-the-fly syntax checks on files using external tools.
- [[https://github.com/flycheck/flycheck][Flycheck]] - Modern on-the-fly syntax checking meant to be a replacement to =FlyMake=.

*** Jump to Definition

- [[http://www.gnu.org/software/global/][GNU Global]] - advanced source code tagging system with jump to definition functionality.
- [[https://github.com/jacktasia/dumb-jump][Dumb Jump]] - easy jump to definition package for multiple languages using =ag= or =grep=.

** Programming Language

*** C/C++

- [[http://cc-mode.sourceforge.net/][CC Mode]] - =[built-in]= An Emacs and XEmacs mode for editing C and other languages with similar syntax.
- [[https://github.com/Andersbakken/rtags][rtags]] - A C/C++ client/server indexer with for integration with emacs based on clang.
- [[https://github.com/cquery-project/emacs-cquery][emacs-cquery]] - Emacs client of [[https://github.com/cquery-project/cquery][cquery]], a C/C++/Objective-C language server powered by clang.
- [[https://github.com/Sarcasm/irony-mode][irony-mode]] - A C/C++ minor mode for Emacs powered by libclang.
- [[https://github.com/Lindydancer/cmake-font-lock][cmake-font-lock]] - Enhanced font-lock rules for CMake.
- [[https://github.com/abo-abo/function-args][function-args]] - visual CEDET enhancements for C++.
- [[https://www.gnu.org/software/emacs/manual/html_node/ebrowse/index.html][Ebrowse]] - =[built-in]= A C++ class browser.

*** Python

- [[https://github.com/jorgenschaefer/elpy][Elpy]] - An Emacs Python development environment.
- [[https://github.com/proofit404/anaconda-mode][anaconda-mode]] - Code navigation, documentation lookup and completion for Python.
- [[https://github.com/porterjamesj/virtualenvwrapper.el][virtualenvwrapper.el]] - Manage virtualenv from inside Emacs.

*** Ruby

- [[https://github.com/senny/rvm.el][rvm]] - Ruby versions manager within Emacs.
- [[https://github.com/endofunky/bundler.el][bundler]] - Interact with gem Bundler from Emacs.
- [[https://github.com/nonsequitur/inf-ruby][inf-ruby]] - REPL buffer connected to a Ruby subprocess.
- [[https://github.com/zenspider/enhanced-ruby-mode][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.
- [[https://www.emacswiki.org/emacs/yari.el][yari]] - Yet Another RI interface for Emacs.
- [[https://github.com/dgutov/robe][robe]] - Code navigation, documentation lookup and completion for Ruby.
- [[https://github.com/rubocop-hq/rubocop][rubocop]] - A Ruby static code analyzer, based on the community Ruby style guide.
- [[https://github.com/ainame/motion-mode][motion-mode]] - A package to provide emacs' major mode for RubyMotion enviroment.
- [[https://github.com/pezra/rspec-mode][rspec-mode]] - An RSpec minor mode for Emacs.
- [[https://github.com/michaelklishin/cucumber.el][feature-mode]] - Emacs mode for editing Cucumber plain text stories.
- [[https://github.com/eschulte/rinari][rinari]] - Rinari Is Not A Rails IDE (it is an Emacs minor mode for Rails).

*** Lisp Family

- [[https://www.emacswiki.org/emacs/ParEdit][Paredit]] - Minor mode for editing parentheses. Strict parenthesis auto-pairing and easy depth adjustment. Compatible with Lisp/Scheme/Clojure.
- [[https://github.com/abo-abo/lispy][lispy]] - Minor mode for editing parenthesis, evaluating and refactoring LISP code with extremely short key bindings. Compatible with Lisp/Scheme/Clojure.
- [[https://github.com/DogLooksGood/parinfer-mode][Parinfer]] - [[https://shaunlebron.github.io/parinfer/][Parinfer]] for Emacs, simpler Lisp editing.

** Common Lisp

 - [[https://common-lisp.net/project/slime/][SLIME]] - A fully-functional IDE for Common Lisp development, with debugger, REPL.
   - [[https://github.com/joaotavora/sly][SLY]] - A fork of SLIME.
 - [[https://github.com/mrkkrp/common-lisp-snippets][common-lisp-snippets]] - Yasnippets for Common Lisp.

** Scheme

 - [[http://www.neilvandyke.org/quack/][Quack]] - Enhanced Emacs Support for Editing and Running Scheme Code.
 - [[http://www.nongnu.org/geiser/][Geiser]] - Intergrated development with Guile and Racket.
 - [[https://github.com/greghendershott/racket-mode][racket-mode]] - major modes for Racket: Edit and REPL.

** Clojure

 - [[https://github.com/clojure-emacs/clojure-mode][Clojure mode]] - A major mode for clojure.
 - [[https://github.com/clojure-emacs/cider][Cider]] - Clojure IDE and REPL.
 - [[https://github.com/mpenet/clojure-snippets][Clojure snippets]] - Clojure snippets with yasnippet.
 - [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor.el]] - A collection of Clojure refactoring functions for Emacs.

** Emacs Lisp - [[https://github.com/Fanael/highlight-defined][highlight-defined]] - Highlight defined functions’ / variables’ name. - [[https://www.emacswiki.org/emacs/InferiorEmacsLispMode][ielm]] - =[built-in]= A simple Emacs Lisp REPL. - [[https://github.com/Silex/elmacro][elmacro]] - Display keyboard macros or latest interactive commands as Emacs Lisp. - [[https://github.com/Wilfred/suggest.el][suggest.el]] - Discover elisp functions that do what you want.

*** Web Development

- [[http://web-mode.org/][web-mode]] - major mode for editing various html templates (PHP, JSP, ASP, ERB...etc).
- [[https://github.com/smihica/emmet-mode][emmet]] - [[https://emmet.io/][Emmet]] support for Emacs.
- [[https://github.com/yasuyk/web-beautify][web-beautify]] - Format HTML, CSS and JavaScript/JSON by js-beautify.
- [[https://github.com/skeeto/skewer-mode][skewer-mode]] - live interact with JavaScript, CSS, and HTML in a web-browser.
- [[https://github.com/skeeto/impatient-mode][impatient-mode]] - See your changes in the browser as you type.
- [[https://github.com/pashky/restclient.el][restclient.el]] - HTTP REST client tool for emacs.
- [[https://github.com/nicferrier/elnode][elnode]] - An evented IO webserver in Emacs Lisp.

** JavaScript

 - [[https://github.com/mooz/js2-mode/][js2-mode]] - Improved JavaScript editing mode.
 - [[http://js-comint-el.sourceforge.net/][js-comint.el]] - Run an inferior javascript REPL process in Emacs.
 - [[http://ternjs.net/doc/manual.html#emacs][tern]] - Emacs flavor of the popular JavaScript analysis engine.
 - [[https://github.com/joshwnj/json-mode][json-mode]] - Major mode for editing JSON files.
 - [[https://github.com/NicolasPetton/indium][indium]] - A JavaScript development environment for Emacs.
 - [[https://github.com/magnars/js2-refactor.el][js2-refactor]] - A JavaScript refactoring library for emacs.
 - [[https://github.com/felipeochoa/rjsx-mode][rjsx-mode]] - A JSX major mode for Emacs.

***** CoffeeScript

  - [[https://github.com/defunkt/coffee-mode][coffee-mode]] - An Emacs major mode for CoffeeScript and IcedCoffeeScript.

***** TypeScript

  - [[https://github.com/ananthakumaran/tide][Tide]] - TypeScript Interactive Development Environment for Emacs.

***** PureScript

  - [[https://github.com/dysinger/purescript-mode][purescript-mode]] - An Emacs major mode for PureScript.
  - [[https://github.com/purescript-emacs/emacs-psci][emacs-psci]] - An Emacs major mode for psci.
  - [[https://github.com/epost/psc-ide-emacs][psc-ide-emacs]] - Emacs integration for PureScript's psc-ide tool.

** PHP

 - [[https://github.com/ejmr/php-mode][php-mode]] - Major mode for PHP programming.
 - [[https://github.com/nlamirault/phpunit.el][phpunit.el]] - Launch PHP unit tests using phpunit.

*** Java

- [[https://github.com/emacs-eclim/emacs-eclim][emacs-eclim]] - An Eclipse plugin which exposes Eclipse features through a server interface.
- [[https://github.com/m0smith/malabar-mode][malabar-mode]] - A better Java mode for Emacs.
- [[https://github.com/jdee-emacs/jdee][JDEE]] - The JDEE is an add-on software package that turns Emacs into a comprehensive system for creating, editing, debugging, and documenting Java applications.
- [[https://github.com/mopemope/meghanada-emacs][meghanada-emacs]] - A Better Java Development Environment for Emacs.

*** Go

- [[https://github.com/dominikh/go-mode.el][Gomode]] - Go mode rewrite for Emacs. Provides Go toolchain integration.
- [[https://github.com/dougm/goflymake][Goflymake]] - Go syntax checker. Wrapper around Emacs flymake for Go.
- [[https://github.com/nsf/gocode][Gocode]] - An autocompletion daemon for the Go programming language.
- [[https://github.com/dominikh/go-errcheck.el][Goerrcheck]] - go-errcheck provides an easy way to invoke errcheck from within Emacs.
- [[https://github.com/grafov/go-playground][Go-playground]] - Local playground for Go code snippets.
- [[https://github.com/manute/gorepl-mode][GoRepl]] - A minor emacs mode for Go REPL.
- [[https://github.com/nlamirault/gotest.el][gotest.el]] - Launch GO unit tests.

*** C#

- [[https://github.com/josteink/csharp-mode][csharp-mode]] - Major mode for C#.
- [[https://github.com/OmniSharp/omnisharp-emacs][omnisharp-emacs]] - IDE-like features for editing C# code.

*** Rust

- [[https://github.com/rust-lang/rust-mode][rust-mode]] - An Emacs major mode for editing Rust code.
- [[https://github.com/flycheck/flycheck-rust][flycheck-rust]] - Better Rust/Cargo support for Flycheck.
- [[https://github.com/racer-rust/emacs-racer][emacs-racer]] - Racer support for Emacs.
- [[https://github.com/kwrooijen/cargo.el][cargo.el]] - Cargo support for Emacs.

*** Erlang

- [[http://erlang.org/doc/apps/tools/erlang_mode_chapter.html][erlang]] - The official Erlang mode for Emacs.
- [[https://github.com/massemanet/distel][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.
- [[https://github.com/tjarvstrand/edts][EDTS]] - EDTS is meant to be a able to replace Distel but only provides part of the most commonly used of Distel's features.
- [[https://github.com/RefactoringTools/Wrangler][Wrangler]] - Wrangler is a mode that supports interactive refactoring of Erlang programs.

*** Elixir

- [[https://github.com/elixir-editors/emacs-elixir][elixir-mode]] - Emacs major mode for Elixir.
- [[https://github.com/tonini/alchemist.el][alchemist]] - Elixir Tooling Integration Into Emacs.

*** Haskell

- [[https://github.com/haskell/haskell-mode][haskell-mode]] - Major mode for Haskell.
- [[https://github.com/chrisdone/structured-haskell-mode][structured-haskell-mode]] - Minor mode for structured editing of Haskell.
- [[https://github.com/alanz/HaRe][HaRe]] - Haskell refactoring tool with emacs integration.
- [[http://www.mew.org/~kazu/proj/ghc-mod/en/][ghc-mod]] - Backend to provide e.g. type information with an emacs frontend.
- [[https://github.com/commercialhaskell/intero][intero]] - Complete interactive development program for Haskell.

#+BEGIN_QUOTE External Guides:

*** Swift

- [[https://github.com/swift-emacs/swift-mode][swift-mode]] - Emacs support for Apple's Swift programming language.
- [[https://github.com/nathankot/company-sourcekit][company-sourcekit]] - Completion for Swift projects via SourceKit with the help of SourceKitten.

*** Scala

- [[http://ensime.github.io//editors/emacs/scala-mode/][scala-mode]] - The definitive scala-mode for emacs.
- [[http://ensime.github.io/][Ensime]] - ENhanced Scala Interaction Mode for Emacs.
- [[https://github.com/hvesalai/sbt-mode][sbt-mode]] - An emacs mode for interacting with scala sbt and projects.

*** Lua

- [[https://github.com/immerrr/lua-mode/][lua-mode]] - A major mode for editing Lua sources in Emacs.

*** Makefile

- [[https://www.emacswiki.org/emacs/MakefileMode][Makefile Mode]] - =[built-in]= A major mode for editing Makefiles.
- [[https://github.com/abo-abo/helm-make][helm-make]] - Select a Makefile target with helm.
- [[https://github.com/nick96/basic-c-compile][basic-c-compile]] - Emacs package to create a Makefile, compile and run a C file.
- [[https://github.com/thiderman/makefile-executor.el][makefile-executor]] - Emacs helpers to run things from Makefiles.
- [[https://github.com/danamlund/emacs-makefile-runner][emacs-makefile-runner]] - Searches for Makefile and fetches targets.

*** SML

- [[http://www.iro.umontreal.ca/~monnier/elisp/][SML mode]] - a major Emacs mode for editing Standard ML source code.

*** Groovy

- [[https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes][groovy-emacs-modes]] - A collection of modes for use with Groovy-related technology -- Groovy, Grails, etc.
- [[https://github.com/lifeisfoo/emacs-grails][grails.el]] - A minor mode for Grails projects.

*** OCaml

- [[https://github.com/ocaml/tuareg][tuareg]] - a Caml mode for Emacs.
- [[https://www.typerex.org/][TypeRex]] - a set of tools for developing in OCaml.
- [[https://github.com/ocaml/merlin][Merlin]] - an assistant for editing OCaml code.

*** Nim

- [[https://github.com/nim-lang/nim-mode][nim-mode]] - An Emacs major mode for editing Nim code.

*** D

- [[https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode][Emacs-D-Mode]] - An Emacs major mode for editing D code.

*** Elm

- [[https://github.com/jcollard/elm-mode][elm-mode]] - An Emacs major mode for editing Elm code.

*** Stan

- [[https://github.com/stan-dev/stan-mode][stan-mode]] - An Emacs major mode for editing Stan code.

*** MIPS Assembly

- [[https://github.com/hlissner/emacs-mips-mode][mips-mode]] - An emacs major mode for editing MIPS assembly.

*** RISCV Assembly

- [[https://github.com/AdamNiederer/riscv-mode][riscv-mode]] - An emacs major mode for editing RISCV assembly.

*** Verilog

- [[https://github.com/veripool/verilog-mode][verilog-mode]] - Emacs major mode for verilog with Indentation, Hightlighting and AUTOs.

** Keys Cheat Sheet

** Note

- [[http://www.gnu.org/software/emacs-muse/][Emacs Muse]] - a publishing environment for Emacs.
- [[https://github.com/rnkn/fountain-mode/][Fountain Mode]] - a full-featured screenwriting environment for GNU Emacs using the Fountain markup format.
- [[https://github.com/tmalsburg/guess-language.el][guess-language]] - Robust automatic language detection (e.g. Arabic, Czech, Danish, etc).

*** Org-mode

- [[https://orgmode.org/][Org]] - =[built-in]= Write notes, GTD, authoring, publish and wash dishes.
  - [[https://github.com/kelvinh/org-page][org-page]] - A static site generator based on org-mode files.
  - [[https://github.com/coldnew/org-ioslide][org-ioslide]] - Export Org document into Google I/O HTML5 slide.
  - [[https://github.com/sabof/org-bullets][org-bullets]] - Shows org-mode bullets as pretty UTF-8 characters.
  - [[https://github.com/org-trello/org-trello][org-trello]] - Minor mode to synchronize org-mode buffer and [[https://trello.com][trello]] board.
  - [[https://github.com/alphapapa/org-protocol-capture-html][org-protocol-capture-html]] - Capture HTML from the browser selection into Emacs as org-mode content.
  - [[https://github.com/Kungsgeten/org-brain][org-brain]] - Org-mode wiki + concept-mapping.
  - [[https://github.com/rexim/org-cliplink][org-cliplink]] - Insert org-mode links from clipboard.
  - [[https://github.com/alphapapa/helm-org-rifle][helm-org-rifle]] - Rifle through your Org buffers and acquire your target.
  - [[https://github.com/abo-abo/org-download][org-download]] - Drag and drop images to Emacs org-mode
  - [[https://github.com/fniessen/org-html-themes][org-html-themes]] - Export Org mode files into awesome HTML in 2 minutes.

** Version control

#+BEGIN_QUOTE 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]]. #+END_QUOTE

** Integration

*** Console

- [[https://www.emacswiki.org/emacs/CategoryEshell][EShell]] - =[built-in]= A shell-like command interpreter implemented in Emacs Lisp.
- [[https://www.emacswiki.org/emacs/AnsiTerm][Term]] - =[built-in]= A terminal emulator in Emacs.
- [[https://github.com/purcell/exec-path-from-shell][exec-path-from-shell]] - Get environment variables such as $PATH from the shell for Mac user.
- [[https://github.com/kaihaosw/eshell-prompt-extras][eshell-prompt-extras]] - Display extra information and color for your eshell prompt.
- [[https://www.emacswiki.org/emacs/download/multi-term.el][multi-term]] - Managing multiple terminal buffers in Emacs.
- [[https://github.com/kyagi/shell-pop-el][shell-pop]] - Quickly toggle a shell with one key action.
- [[https://github.com/peterwvj/eshell-up][eshell-up]] - Quickly navigate to a specific parent directory in eshell without having to repeatedly typing ~cd ..~.
- [[https://framagit.org/steckerhalter/emacs-fasd][fasd]] - Emacs integration for the command-line productivity booster fasd.
- [[https://github.com/dieggsy/esh-autosuggest/][esh-autosuggest]] - Fish-like history autosuggestions in Eshell.
- [[https://github.com/Ambrevar/emacs-fish-completion][fish-completion]] - Fallback on [[http://fishshell.com/][fish shell]] completion for ~M-x shell~ and Eshell.

*** Operating System

- [[https://github.com/zk-phi/symon/][Symon]] - Tiny graphical system monitor.
- [[https://github.com/jabranham/system-packages][system-packages]] - Manage your installed packages with emacs.
- [[https://github.com/emacs-helm/helm-system-packages][Helm System Packages]] - A Helm interface to the package manager of your operating system.

*** Search

- [[https://github.com/mhayashi1120/Emacs-wgrep][wgrep]] -  Writable grep/ack/ag/pt buffer and apply the changes to files.

** Ack

- [[http://nschum.de/src/emacs/full-ack/][full-ack]] - An Emacs front-end for ack.
- [[https://github.com/leoliu/ack-el][ack-el]] - Emacs Interface to Ack-like Tools.

** Ag

 - [[https://github.com/Wilfred/ag.el][ag.el]] - An Emacs frontend to Ag ("the silver searcher" ack replacment).
 - [[https://github.com/syohex/emacs-helm-ag][helm-ag]] - Ag with helm interface.

** Pt

 - [[https://github.com/bling/pt.el][pt.el]] - An emacs front-end for Pt, the [[https://github.com/monochromegane/the_platinum_searcher][Platinum Searcher]].

** Sift

 - [[https://github.com/nlamirault/sift.el][sift.el]] - Front-end for [[https://github.com/svent/sift][sift]], a fast and powerful grep alternative.

** Ripgrep

 - [[https://github.com/nlamirault/ripgrep.el][ripgrep.el]] - Emacs front-end for [[https://github.com/BurntSushi/ripgrep][ripgrep]], a command line search tool.

*** Pastebin

- [[https://github.com/defunkt/gist.el][gist.el]] - Paste Gist in Emacs.
- [[https://github.com/mhayashi1120/yagist.el][yagist.el]] - Yet another Gist integration.
- [[https://github.com/gregnewman/dpaste.el][dpaste.el]] - Emacs mode to post to dpaste.com.
- [[https://github.com/emacs-pe/jist.el][jist.el]] - Yet another gist client for Emacs.
- [[https://github.com/theanalyst/ix.el][ix.el]] - Paste to [[http://ix.io/][ix.io]] pastebin.
- [[https://github.com/etu/webpaste.el][webpaste.el]] - Paste to pastebin-like services.

*** Google

- [[https://github.com/Malabarba/emacs-google-this][google-this]] - A set of functions and bindings to google under point.
- [[https://github.com/atykhonov/google-translate][google-translate]] - Interface to Google Translate.

*** Blog System

- [[https://github.com/nibrahim/Hyde][Hyde]] - An Emacs mode to manage [[https://jekyllrb.com/][Jekyll]] blogs.
- [[https://github.com/kuanyui/hexo.el][hexo.el]] - A frontend UI of [[https://hexo.io/][Hexo]] for Emacs.
- [[https://github.com/CodeFalling/blog-admin][blog-admin]] - Write blog in emacs with hexo/org-page/nikola.
- [[https://github.com/thiefuniverse/blog-minimal][blog-minimal]] - A simple static site generator based on org mode.
- [[https://ox-hugo.scripter.co][ox-hugo]] - Export Org subtrees/files to Markdown with front-matter for [[https://gohugo.io][Hugo]] static site generator.

** Markdown

** LaTeX

** PDF

** Internet

*** Browser

 - [[https://www.gnu.org/software/emacs/manual/html_mono/eww.html][EWW]] - =[built-in]= EWW, the Emacs Web Wowser, is a web browser for Emacs.
 - [[https://www.emacswiki.org/emacs/EmacsApplicationFramework][emacs-application-framework]] - A framework to run any Qt5 program in Emacs, such as a browser.

*** Mail

 - [[https://www.emacswiki.org/emacs/CategoryGnus][Gnus]] - =[built-in]= Reading e-mail and Usenet news.
 - [[https://www.emacswiki.org/emacs/MessageMode][Messages]] - =[built-in]= Composing and sending e-mail inside Emacs.
 - [[http://www.djcbsoftware.nl/code/mu/mu4e.html][mu4e]] - An e-mail client for Emacs.
 - [[https://notmuchmail.org/][notmuch]] - A mail indexer which can serve as a complete client with its emacs integration.
 - [[https://www.emacswiki.org/emacs/WanderLust][Wanderlust]] - A powerful email and Usenet client for Emacs (IMAP4rev1, NNTP, POP(POP3/APOP), MH/Maildir).
 - [[http://www.mew.org/en/][mew]] - A very easy to use e-mail reader and client for Emacs.

*** IRC

- [[https://www.emacswiki.org/emacs/ERC][ERC]] - =[built-in]= A powerful, modular, and extensible IRC client.
- [[http://www.nongnu.org/riece/index.html.en][Riece]] - An IRC client for Emacs.
- [[https://www.emacswiki.org/emacs/rcirc][Rcirc]] - =[built-in]= Next generation IRC client.
- [[https://github.com/jorgenschaefer/circe][Circe]] - A Client for IRC in Emacs.

*** Chat

- [[https://github.com/the-kenny/weechat.el][Weechat.el]] - A Weechat-relay client for Emacs.
- [[https://github.com/yuya373/emacs-slack][slack]] - slack client for Emacs.

*** Social Network

- [[http://twmode.sourceforge.net/][Twittering mode]] - Major mode for Twitter.
- [[https://github.com/vermiculus/sx.el/][SX]] - Stack Exchange for Emacs.
  - [[https://github.com/atykhonov/emacs-howdoi][howdoi]] - Instant coding answers via Emacs, a way to query Stack Overflow directly from within Emacs.
- [[https://github.com/austin-----/weibo.emacs][weibo.emacs]] - Sina weibo client in Emacs.

*** Web Feed

- [[https://github.com/skeeto/elfeed][Elfeed]] - RSS/Atom Reader for Emacs.
- [[https://www.gnu.org/software/emacs/manual/html_node/newsticker/index.html][Newsticker]] - =[built-in]= RSS/Atom Reader for Emacs.

** DevOps

** Package Management

*** Package Manager

- [[https://www.emacswiki.org/emacs/ELPA][package.el]] - =[built-in]= Install and manage Emacs packages easily.
  - [[https://github.com/Malabarba/paradox][paradox]] - Modernizing Emacs' Package Menu with package ratings, usage statistics, customizability & more.
  - [[https://github.com/Silex/package-utils][package-utils]] - Interactive extensions for package.el .
  - [[https://github.com/larstvei/Try][try]] - Try out Emacs packages.
- [[https://github.com/dimitri/el-get][el-get]] - apt-get style Emacs packages manager.
- [[https://github.com/cask/cask][cask]] - Manage dependencies for your local Emacs configuration and automate the package development cycle.
  - [[https://github.com/rdallasgray/pallet][pallet]] - A package management tool for Emacs, built on Cask.
- [[https://github.com/quelpa/quelpa][quelpa]] - Build and install your Emacs Lisp packages on-the-fly directly from source.
- [[https://github.com/dunn/homebrew-emacs][homebrew-emacs]] - [[https://brew.sh][Homebrew]] tap for installing Emacs packages.
- [[https://github.com/emacscollective/borg][borg]] - Assimilate Emacs packages as Git submodules.
- [[https://github.com/raxod502/straight.el][straight.el]] - Next-generation, purely functional package manager for the Emacs hacker.

*** Package Configuration

- [[https://github.com/jwiegley/use-package][use-package]] - A declaration macro to isolate package configuration in a way that is performance-oriented and tidy.
  - [[https://github.com/edvorg/req-package][req-package]] - A use-package wrapper for package runtime dependencies management.
- [[https://github.com/jschaf/esup][ESUP]] - Emacs Start Up Profiler.  Benchmark Emacs Startup time without ever leaving your Emacs.
- [[https://github.com/emacscollective/no-littering][no-littering]] - Help keeping ~/.emacs.d clean.

*** Package Updates

- [[https://github.com/rranelli/auto-package-update.el][auto-package-update.el]] - Automatically update Emacs packages.
- [[https://github.com/mola-T/SPU][SPU]] - Emacs Silent Package Upgrader.

** Library

** Appearance

** Theme

#+BEGIN_QUOTE The above list contains some of the most popular/installed themes. If still unsatisfied, you can also take a look at [[https://pawelbx.github.io/emacs-theme-gallery/][GNU Emacs Themes Gallery]] for screenshots of almost all available Emacs themes. #+END_QUOTE

** Multimedia

** Finance

** Fun

** Starter Kit

** Noteworthy Configurations

#+BEGIN_QUOTE In addition, for more configurations, take a look at [[https://github.com/caisah/emacs.dz]]. #+END_QUOTE

** Tutorials

** Links and resources

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.

Before contributing, please read this tiny guideline:

** The Order of Items

Please don’t rearrange the package ordering without any reason! The items should be sorted by its popularity ( /roughly, because it’s impossible to have a precise standard./ e.g. most people would use it; recommended for every newbie…), instead of your personal preference.

For example, =Evil= is obviously not a package that every Emacser needs. So please don’t move it onto the top of its category.

In contrast, if you think a package is recommended for every Emacser (especially for a newbie), just place it at a higher place in the list.

** Emacs Built-In Packages If a package is available in the latest version of Emacs, please remember to add a =[built-in]= tag in the front of the description.

** Generate “Table of Contents” After you have added a package or edited the =README.org=, and before committing and issuing a pull request on this awesome list, use =gen-toc.el= to update the Table of Contents.

Open =gen-toc.el= and =M-x eval-buffer=. Then change buffers to =README.org=. Subsequently, issue =M-x awesome-emacs-gen-toc= in the =README.org= buffer. If a new category of packages has been added in your commit, the Table of Contents section will be revised and updated.

A curated list of awesome lists can be found at [[https://awesome.re][awesome.re]].

[[https://creativecommons.org/publicdomain/zero/1.0/][https://licensebuttons.net/p/zero/1.0/88x31.png]]

This list is a copy of emacs-tw/awesome-emacs with ranks