resources

resources to learn emacs

View on GitHub

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

Most of the following packages are available in [[https://github.com/milkypostman/melpa][MELPA]]. We recommend installing packages via it.

#+BEGIN_QUOTE Table of Contents - [[#awesome-emacs][Awesome Emacs]] - [[#interface-enhancement][Interface Enhancement]] - [[#file-manager][File Manager]] - [[#navigation][Navigation]] - [[#visual][Visual]] - [[#editing][Editing]] - [[#kill-ring][Kill-ring]] - [[#project-management][Project management]] - [[#programming][Programming]] - [[#completion][Completion]] - [[#document][Document]] - [[#code-folding][Code Folding]] - [[#error-checking][Error Checking]] - [[#jump-to-definition][Jump to Definition]] - [[#programming-language][Programming Language]] - [[#cc][C/C++]] - [[#python][Python]] - [[#ruby][Ruby]] - [[#lisp-family][Lisp Family]] - [[#common-lisp][Common Lisp]] - [[#scheme][Scheme]] - [[#clojure][Clojure]] - [[#emacs-lisp][Emacs Lisp]] - [[#web-development][Web Development]] - [[#javascript][JavaScript]] - [[#coffeescript][CoffeeScript]] - [[#typescript][TypeScript]] - [[#purescript][PureScript]] - [[#php][PHP]] - [[#java][Java]] - [[#go][Go]] - [[#c][C#]] - [[#rust][Rust]] - [[#erlang][Erlang]] - [[#elixir][Elixir]] - [[#haskell][Haskell]] - [[#swift][Swift]] - [[#scala][Scala]] - [[#lua][Lua]] - [[#sml][SML]] - [[#groovy][Groovy]] - [[#ocaml][OCaml]] - [[#nim][Nim]] - [[#d][D]] - [[#elm][Elm]] - [[#stan][Stan]] - [[#mips-assembly][MIPS Assembly]] - [[#riscv-assembly][RISCV Assembly]] - [[#keys-cheat-sheet][Keys Cheat Sheet]] - [[#note][Note]] - [[#org-mode][Org-mode]] - [[#version-control][Version control]] - [[#integration][Integration]] - [[#console][Console]] - [[#operating-system][Operating System]] - [[#search][Search]] - [[#ack][Ack]] - [[#ag][Ag]] - [[#pt][Pt]] - [[#sift][Sift]] - [[#ripgrep][Ripgrep]] - [[#pastebin][Pastebin]] - [[#google][Google]] - [[#blog-system][Blog System]] - [[#markdown][Markdown]] - [[#latex][LaTeX]] - [[#pdf][PDF]] - [[#internet][Internet]] - [[#browser][Browser]] - [[#mail][Mail]] - [[#irc][IRC]] - [[#chat][Chat]] - [[#social-network][Social Network]] - [[#web-feed][Web Feed]] - [[#devops][DevOps]] - [[#package-management][Package Management]] - [[#package-manager][Package Manager]] - [[#package-configuration][Package Configuration]] - [[#package-updates][Package Updates]] - [[#library][Library]] - [[#appearance][Appearance]] - [[#theme][Theme]] - [[#multimedia][Multimedia]] - [[#fun][Fun]] - [[#starter-kit][Starter Kit]] - [[#noteworthy-configurations][Noteworthy Configurations]] - [[#tutorials][Tutorials]] - [[#links-and-resources][Links and resources]] - [[#contributing][Contributing]] - [[#the-order-of-items][The Order of Items]] - [[#emacs-built-in-packages][Emacs Built-In Packages]] - [[#generate-table-of-contents][Generate “Table of Contents”]] - [[#other-awesome-lists][Other Awesome Lists]] - [[#license][License]] #+END_QUOTE

** Interface Enhancement

** File Manager

** Navigation

** Visual

# For contributor: Don’t confuse this category with “Appearance” # (basically useless except for good-looking) Packages in here is # 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.
- [[http://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
- [[http://www.emacswiki.org/emacs/HideShow][hideshow]] - =[built-in]= Folding regions by balanced-expression code.
  - [[http://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

- [[http://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/leoliu/ggtags][ggtags]] - Emacs frontend to GNU Global source code tagging system.
- [[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/tkf/emacs-jedi][Jedi]] - A Python auto-completion package.
- [[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/tobiassvn/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.
- [[http://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/bbatsov/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

- [[http://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/capitaomorte/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://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.

*** 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]] - [[http://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/jade][jade]] - JavaScript Awesome Development Environment (in 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/ardumont/emacs-psci][emacs-psci]] - An Emacs major mode for psci.

** 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/senny/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://www.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-lang/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: - [[https://github.com/serras/emacs-haskell-tutorial/blob/master/tutorial.md][Using Emacs for Haskell development]] #+END_QUOTE

*** Swift

- [[https://github.com/chrisbarrett/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.

*** 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.
- [[http://the-lambda-church.github.io/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

** 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.

*** Org-mode

- [[http://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.

** Version control

** Integration

*** Console

- [[http://www.emacswiki.org/emacs/CategoryEshell][EShell]] - =[built-in]= A shell-like command interpreter implemented in Emacs Lisp.
- [[http://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/hiddenlotus/eshell-prompt-extras][eshell-prompt-extras]] - Display extra information and color for your eshell prompt.
- [[http://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 ..~

*** Operating System

- [[https://github.com/zk-phi/symon/][Symon]] - tiny graphical system monitor.

*** 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

*** 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

** Markdown

** LaTeX

** PDF - [[https://github.com/politza/pdf-tools][PDF Tools]] - major mode for rendering PDF files, much better than DocView, and has much richer set of features

** 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/WebKit][emacs-webkit]] - Emacs-webkit, a webkit browser inside Emacs

*** Mail

 - [[http://www.emacswiki.org/emacs/CategoryGnus][Gnus]] - =[built-in]= Reading e-mail and Usenet news.
 - [[http://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
 - [[http://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

- [[http://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.
- [[http://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/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

- [[http://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/Homebrew/homebrew-emacs][homebrew-emacs]] - [[http://brew.sh][Homebrew]] tap for installing Emacs packages.
- [[https://github.com/emacscollective/borg][borg]] - Assimilate Emacs packages as Git submodules.

*** 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/technomancy/better-defaults][better-defaults]] - A small number of better defaults for Emacs.
- [[https://github.com/tarsius/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 Above list is some of the most popular/installed themes. If still unsatisfied, you also can take a look of [[https://emacsthemes.com/][GNU Emacs Themes Gallery]] for screenshots of almost all available Emacs themes. #+END_QUOTE

** Multimedia

** Fun

** Starter Kit

** Noteworthy Configurations

** 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 packages’ ordering without any reason! The items should be sorted by its popularity ( /roughly, because it’s impossible to have a precious standard./ e.g. most of 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 top in its category.

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

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

** Generate “Table of Contents” After editing and ready to commit & push this list, you can use =/gen-toc.el= to update the table of contents with =M-x awesome-emacs-gen-toc= in =README.org= buffer.

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

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

To the extent possible under law, [[https://github.com/emacs-tw][emacs.tw]] has waived all copyright and related or neighboring rights to this work.