├── .github ├── ISSUE_TEMPLATE │ └── issue.md └── workflows │ └── main.yml ├── .gitignore ├── LICENSE └── README.org /.github/ISSUE_TEMPLATE/issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Issue 3 | about: Issues or discussion about this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 16 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - "*" 7 | pull_request: 8 | branches: 9 | - "*" 10 | schedule: 11 | - cron: 0 0 * * 1 12 | 13 | jobs: 14 | prepare_docker_image: 15 | runs-on: ubuntu-22.04 16 | 17 | steps: 18 | - name: Checkout code 19 | uses: actions/checkout@v4 20 | 21 | - name: Prepare Docker Images 22 | run: | 23 | docker pull silex/emacs:29.3-alpine 24 | docker pull dkhamsing/awesome_bot:1.20.0 25 | 26 | check_toc_with_emacs: 27 | needs: prepare_docker_image 28 | runs-on: ubuntu-22.04 29 | 30 | steps: 31 | - name: Checkout code 32 | uses: actions/checkout@v4 33 | 34 | - name: Backup README 35 | run: | 36 | cp README.org README.org.original 37 | 38 | - name: Check Table of Contents Generation 39 | run: | 40 | EMACS="docker run -i --rm -v $(pwd):$(pwd) -w $(pwd) silex/emacs:29.3-alpine emacs" 41 | $EMACS --version 42 | $EMACS README.org -Q -batch --eval \ 43 | "(progn 44 | (setq package-archives '((\"melpa\" . \"https://melpa.org/packages/\"))) 45 | (package-initialize) 46 | (unless (package-installed-p 'toc-org) 47 | (unless package-archive-contents 48 | (package-refresh-contents)) 49 | (package-install 'toc-org)) 50 | (require 'toc-org) 51 | (toc-org-insert-toc) 52 | (save-buffer))" 53 | 54 | - name: Compare README Files 55 | run: | 56 | diff README.org README.org.original 57 | echo "If the README pre and post-processing are identical, the diff should exit with 0." 58 | echo "Otherwise, a non-zero exit code indicates that toc-org should be run to update the Table of Contents." 59 | 60 | check_links_with_awesome_bot: 61 | needs: prepare_docker_image 62 | runs-on: ubuntu-22.04 63 | 64 | steps: 65 | - name: Checkout code 66 | uses: actions/checkout@v4 67 | 68 | - name: Check Awesome Bot Links 69 | run: | 70 | AWESOME_BOT="docker run -i --rm -v $(pwd):$(pwd):rw -w $(pwd) dkhamsing/awesome_bot:1.20.0" 71 | $AWESOME_BOT --version 72 | ALLOWED_LINKS="awesome.re,emmet,melpa,reddit,ternjs,Matching.html" 73 | $AWESOME_BOT README.org --request-delay 0.05 --allow-ssl --white-list "$ALLOWED_LINKS" 74 | 75 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | auto-save-list 2 | custom.el 3 | .org-id-locations 4 | \#* 5 | org-mode-config.el 6 | *~ 7 | .#* 8 | \#*\# 9 | *.log 10 | .DS_Store 11 | org-clock-save.el 12 | emacs-config.el -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /README.org: -------------------------------------------------------------------------------- 1 | #+HTML:
Emacs Logo 2 | 3 | * Awesome Emacs 4 | [[https://github.com/sindresorhus/awesome][https://cdn.jsdelivr.net/gh/sindresorhus/awesome@d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg]] 5 | [[https://github.com/emacs-tw/awesome-emacs/actions/workflows/main.yml][https://github.com/emacs-tw/awesome-emacs/actions/workflows/main.yml/badge.svg]] 6 | [[https://unlicense.org][https://upload.wikimedia.org/wikipedia/commons/e/ee/Unlicense_Blue_Badge.svg]] 7 | 8 | #+HTML:
9 | 10 | 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. 11 | 12 | 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. 13 | 14 | Above all, enjoy using Emacs. The community, more than anything, makes Emacs a great ecosystem and place to develop, learn and grow. 15 | 16 | * Table of Contents :TOC_5:QUOTE: 17 | #+BEGIN_QUOTE 18 | - [[#awesome-emacs][Awesome Emacs]] 19 | - [[#installation][Installation]] 20 | - [[#linux][Linux]] 21 | - [[#macos][macOS]] 22 | - [[#windows][Windows]] 23 | - [[#alternative][Alternative]] 24 | - [[#interface-enhancement][Interface Enhancement]] 25 | - [[#window--frame-management][Window & Frame Management]] 26 | - [[#font][Font]] 27 | - [[#layout][Layout]] 28 | - [[#switching][Switching]] 29 | - [[#tabbar][Tabbar]] 30 | - [[#navigation][Navigation]] 31 | - [[#key-bindings][Key-bindings]] 32 | - [[#minibuffer][Minibuffer]] 33 | - [[#fuzzy--narrowing][Fuzzy & Narrowing]] 34 | - [[#mode-line][Mode-line]] 35 | - [[#dim-distracting][Dim Distracting]] 36 | - [[#editing-enhancement][Editing Enhancement]] 37 | - [[#indentation-enhancement][Indentation Enhancement]] 38 | - [[#symbols--tokens][Symbols / Tokens]] 39 | - [[#whitespaces-enhancement][Whitespaces Enhancement]] 40 | - [[#delete-enhancement][Delete Enhancement]] 41 | - [[#fancy-icons][Fancy Icons]] 42 | - [[#massive-edit][Massive Edit]] 43 | - [[#quotes--parenthesis--delimiters-handling][Quotes & Parenthesis & Delimiters Handling]] 44 | - [[#insert--edit][Insert & Edit]] 45 | - [[#select][Select]] 46 | - [[#highlight][Highlight]] 47 | - [[#kill-ring--clipboard][Kill-ring / Clipboard]] 48 | - [[#drag-lines][Drag Lines]] 49 | - [[#undo--redo][Undo & Redo]] 50 | - [[#multiple-major-mode][Multiple Major-Mode]] 51 | - [[#snippet][Snippet]] 52 | - [[#text-conversion][Text Conversion]] 53 | - [[#programming][Programming]] 54 | - [[#completion][Completion]] 55 | - [[#jump-to-definition--tagging][Jump to Definition / Tagging]] 56 | - [[#lsp-client][LSP Client]] 57 | - [[#debugging][Debugging]] 58 | - [[#error-checking][Error Checking]] 59 | - [[#document][Document]] 60 | - [[#code-folding][Code Folding]] 61 | - [[#compiling][Compiling]] 62 | - [[#project-management][Project management]] 63 | - [[#file-manager][File Manager]] 64 | - [[#programming-language][Programming Language]] 65 | - [[#cc][C/C++]] 66 | - [[#python][Python]] 67 | - [[#ruby][Ruby]] 68 | - [[#lisp-family][Lisp Family]] 69 | - [[#common-lisp][Common Lisp]] 70 | - [[#scheme][Scheme]] 71 | - [[#racket][Racket]] 72 | - [[#clojure][Clojure]] 73 | - [[#emacs-lisp][Emacs Lisp]] 74 | - [[#web-development][Web Development]] 75 | - [[#javascript][JavaScript]] 76 | - [[#coffeescript][CoffeeScript]] 77 | - [[#typescript][TypeScript]] 78 | - [[#purescript][PureScript]] 79 | - [[#php][PHP]] 80 | - [[#java][Java]] 81 | - [[#go][Go]] 82 | - [[#c][C#]] 83 | - [[#rust][Rust]] 84 | - [[#erlang][Erlang]] 85 | - [[#elixir][Elixir]] 86 | - [[#haskell][Haskell]] 87 | - [[#swift][Swift]] 88 | - [[#scala][Scala]] 89 | - [[#lua][Lua]] 90 | - [[#makefile][Makefile]] 91 | - [[#sml][SML]] 92 | - [[#gdscript][Gdscript]] 93 | - [[#groovy][Groovy]] 94 | - [[#kotlin][Kotlin]] 95 | - [[#r][R]] 96 | - [[#julia][Julia]] 97 | - [[#ocaml][OCaml]] 98 | - [[#reasonml][ReasonML]] 99 | - [[#mint][Mint]] 100 | - [[#nim][Nim]] 101 | - [[#d][D]] 102 | - [[#raku][Raku]] 103 | - [[#elm][Elm]] 104 | - [[#stan][Stan]] 105 | - [[#mips-assembly][MIPS Assembly]] 106 | - [[#risc-v-assembly][RISC-V Assembly]] 107 | - [[#verilogsystemverilog][Verilog/SystemVerilog]] 108 | - [[#vhdl][VHDL]] 109 | - [[#lammps][LAMMPS]] 110 | - [[#ada][Ada]] 111 | - [[#ai][AI]] 112 | - [[#code-completion][Code Completion]] 113 | - [[#chatgpt][ChatGPT]] 114 | - [[#ai-assistant-programming][AI assistant programming]] 115 | - [[#session-management][Session management]] 116 | - [[#keys-cheat-sheet][Keys Cheat Sheet]] 117 | - [[#note][Note]] 118 | - [[#org-mode][Org-mode]] 119 | - [[#version-control][Version control]] 120 | - [[#integration][Integration]] 121 | - [[#console][Console]] 122 | - [[#operating-system][Operating System]] 123 | - [[#search][Search]] 124 | - [[#ack][Ack]] 125 | - [[#ag][Ag]] 126 | - [[#pt][Pt]] 127 | - [[#sift][Sift]] 128 | - [[#ripgrep][Ripgrep]] 129 | - [[#pastebin][Pastebin]] 130 | - [[#google][Google]] 131 | - [[#blog-system][Blog System]] 132 | - [[#markdown][Markdown]] 133 | - [[#latex][LaTeX]] 134 | - [[#pdf][PDF]] 135 | - [[#internet][Internet]] 136 | - [[#browser][Browser]] 137 | - [[#mail][Mail]] 138 | - [[#irc][IRC]] 139 | - [[#chat][Chat]] 140 | - [[#social-network][Social Network]] 141 | - [[#web-feed][Web Feed]] 142 | - [[#ftp][FTP]] 143 | - [[#torrent][Torrent]] 144 | - [[#devops][DevOps]] 145 | - [[#package-management][Package Management]] 146 | - [[#package-manager][Package Manager]] 147 | - [[#package-configuration][Package Configuration]] 148 | - [[#package-updates][Package Updates]] 149 | - [[#config-management][Config Management]] 150 | - [[#library][Library]] 151 | - [[#theme][Theme]] 152 | - [[#multimedia][Multimedia]] 153 | - [[#finance][Finance]] 154 | - [[#fun][Fun]] 155 | - [[#music][Music]] 156 | - [[#screencasting][Screencasting]] 157 | - [[#starter-kit][Starter Kit]] 158 | - [[#tutorials][Tutorials]] 159 | - [[#links-and-resources][Links and resources]] 160 | - [[#contributing][Contributing]] 161 | - [[#the-order-of-items][The Order of Items]] 162 | - [[#emacs-built-in-packages][Emacs Built-In Packages]] 163 | - [[#generate-table-of-contents][Generate "Table of Contents"]] 164 | - [[#other-awesome-lists][Other Awesome Lists]] 165 | - [[#license][License]] 166 | #+END_QUOTE 167 | 168 | ** Installation 169 | Much information can be found at the [[https://www.gnu.org/savannah-checkouts/gnu/emacs/download.html][GNU Emacs Download & Installation]] page. Upgrading to the newest/current version of emacs (if emacs comes preinstalled on ones operating system) will give the best user experience, and it is advised to do so as soon as possible. Here are several resources to assist you as you start or continue your journey with emacs. 170 | 171 | *** Linux 172 | Use your favorite Linux package manager (e.g. apt, dnf, yum, pacman, etc) or build from [[https://git.savannah.gnu.org/cgit/emacs.git/][source]]. Typically, either a relatively recent version of emacs or no instance of emacs will be on a default install of one's Linux [[https://distrowatch.com][distribution]]. 173 | 174 | *** macOS 175 | Use [[https://brew.sh][Homebrew]] or [[https://www.macports.org][MacPorts]] to install emacs with a package manager. Also, consider [[https://emacsformacosx.com][Emacs for Mac OS X]] and the Homebrew [[https://github.com/d12frosted/homebrew-emacs-plus][Emacs Plus]] formula for installation candidates. The preinstalled version of emacs on a default macOS install is quite [[https://apple.stackexchange.com/questions/229669/update-emacs-that-comes-with-os-x][old]]. For an optimal emacs experience, upgrading to a newer version is highly recommended. 176 | 177 | *** Windows 178 | Emacs can be downloaded from the [[http://ftp.gnu.org/gnu/emacs/windows/][GNU FTP]] or a GNU mirror listed on the [[https://www.gnu.org/software/emacs/download.html][GNU Emacs Download & Installation page]], and/or using the [[https://www.msys2.org][MSYS2]] pacman manager. Another option is to install emacs via the [[https://community.chocolatey.org/packages/Emacs][Chocolatey]] or [[https://github.com/ScoopInstaller/Extras/blob/master/bucket/emacs.json][scoop]] Windows package managers. A default install of Windows does not contain emacs. 179 | 180 | *** Alternative 181 | The following resources can be used to build emacs in various environments-- e.g. containerized [[https://www.docker.com][docker]] builds, [[https://en.wikipedia.org/wiki/Continuous_integration][continuous integration]], building various versions of emacs, etc. 182 | - [[https://github.com/rejeep/evm][evm]] - Emacs Version Manager. 183 | - [[https://github.com/flycheck/emacs-travis][flycheck/emacs-travis]] - Install emacs on Travis CI. 184 | - [[https://github.com/npostavs/emacs-travis][npostavs/emacs-travis]] - Pre-built emacs binaries for Travis CI (fork of flycheck/emacs-travis, significant though in that it is used for CI in projects such as Magit). 185 | - [[https://github.com/Silex/docker-emacs][Silex/docker-emacs]] - Run emacs in docker containers (multiple image variants, with options for [[https://ubuntu.com][Ubuntu]] or [[https://alpinelinux.org][Alpine]] Linux based images). 186 | - [[https://github.com/JAremko/docker-emacs][JAremko/docker-emacs]] - Dockerized emacs with GUI (Mac, Windows, GNU/Linux and your browser). 187 | - [[https://github.com/purcell/nix-emacs-ci][nix-emacs-ci]] - Emacs installations for continuous integration. 188 | 189 | ** Interface Enhancement 190 | 191 | # ATTENTION IF YOU ARE CONTRIBUTOR: This parent category "Interface 192 | # Enhancement" is frequently abused. Please DO NOT casually place 193 | # packages in this parent category, unless the package indeed does not 194 | # belong to any other subcategory or other category. 195 | 196 | # Packages in this category enhance the UI of Emacs itself, NOT 197 | # related with file's content. 198 | 199 | - [[https://github.com/emacs-dashboard/emacs-dashboard][Dashboard]] - A startup dashboard which provides certain information about your recent Emacs activities. 200 | - [[https://github.com/Wilfred/helpful][Helpful]] - An enchancement of the Emacs built-in help system. 201 | - [[https://github.com/zk-phi/sublimity][sublimity]] - smooth-scrolling, minimap inspired by the sublime editor. 202 | - [[https://github.com/pashinin/workgroups2][workgroups2]] - Session manager, saves all your opened buffers, their location and sizes on disk to restore later. 203 | - [[https://github.com/mrkkrp/ace-popup-menu][ace-popup-menu]] - Replace GUI popup menu with something more efficient. 204 | - [[https://www.gnu.org/software/hyperbole/][GNU Hyperbole]] - GNU Hyperbole is an efficient and programmable hypertextual information management system. It is a toolkit and user interface for viewing, retrieving and interlinking all kinds of textual information. 205 | - [[https://github.com/coldnew/linum-relative][linum-relative]] - display relative line number in the left margin in emacs. 206 | - [[https://github.com/Malabarba/beacon][beacon]] - Never lose your cursor again. 207 | - [[https://github.com/protesilaos/pulsar][pulsar]] - Highlights current line, an minimal alternative to beacon. 208 | - [[https://github.com/emacsorphanage/yascroll][yascroll-el]] - Yet Another Scroll Bar Mode. 209 | - [[https://github.com/k-talo/volatile-highlights.el][volatile-highlights.el]] - Minor mode for visual feedback on some operations in Emacs. 210 | - [[https://codeberg.org/ideasman42/emacs-buffer-name-relative][buffer-name-relative]] - Project relative buffer names with optional path abbreviation. 211 | - [[https://github.com/ichernyshovvv/enlight][enlight]] — Highly customizable startup screen for Emacs. 212 | - [[https://github.com/jamescherti/inhibit-mouse.el][inhibit-mouse.el]] — A package that allows disabling mouse input in Emacs. It can help prevent accidental clicks or be used to reinforce a keyboard-centric workflow. 213 | - [[https://github.com/emacs-sideline/sideline][sideline]] - Show information on the side. 214 | - [[https://github.com/kickingvegas/casual][Casual]] - A collection of Transient user interfaces for various built-in Emacs modes. 215 | 216 | *** Window & Frame Management 217 | #+begin_quote 218 | The window & frame system of Emacs itself, NOT the window system of OS (See "[[#operating-system][Operating System]]"). 219 | #+end_quote 220 | 221 | **** Font 222 | 223 | - [[https://github.com/protesilaos/fontaine][fontaine]] - lets the user specify presets of font configurations and set them on demand on graphical Emacs frames. 224 | - [[https://codeberg.org/ideasman42/emacs-default-font-presets][default-font-presets]] - lets user specify presets for the default-font, with utilities to scale and cycle fonts. 225 | 226 | **** Layout 227 | - [[https://www.emacswiki.org/emacs/WinnerMode][winner]] - =[built-in]= "Undo"(and "redo") changes in the window configuration with the key commands. 228 | - [[https://github.com/roman/golden-ratio.el][golden-ratio.el]] - Automatically resizes windows based on the [[https://en.wikipedia.org/wiki/Golden_ratio][golden ratio]]. 229 | - [[https://github.com/knu/elscreen][ElScreen]] - Utility for multiple screens. 230 | - [[https://github.com/cyrus-and/zoom][Zoom]] - Fixed and automatic balanced window layout for Emacs. 231 | 232 | **** Switching 233 | - [[https://www.emacswiki.org/emacs/WindMove][windmove]] - =[built-in]= Tired with =C-x o=? Now you can use =shift+arrows= to jump between windows. 234 | - [[https://github.com/deb0ch/emacs-winum][emacs-winum]] - Window numbers for Emacs - Navigate windows and frames using numbers. 235 | - [[https://github.com/dimitri/switch-window][switch-window]] - A visual replacement for =C-x o=. 236 | - [[https://github.com/abo-abo/ace-window][ace-window]] - Quickly switch windows. 237 | - [[https://github.com/lukhas/buffer-move][buffer-move]] - Move or swap buffer to other window. 238 | 239 | *** Tabbar 240 | 241 | - [[https://www.emacswiki.org/emacs/TabBarMode][tab-bar-mode]] - =[built-in]= =tab-bar-mode= and =tab-line-mode= to display a tab bar at the top. 242 | - [[https://github.com/ema2159/centaur-tabs][centaur-tabs]] - Aesthetic, functional tabs plugin with icons and styles, Helm, Ivy and Projectile integration, supported by many popular themes. 243 | - [[https://github.com/dholm/tabbar][tabbar]] - Display a tab bar in the header line. 244 | - [[https://github.com/manateelazycat/awesome-tab][awesome-tab]] - Out of box extension to use tab in Emacs. grouping buffers by projects and many awesome features. 245 | - [[https://github.com/jamescherti/vim-tab-bar.el][vim-tab-bar]] - Makes Emacs' built-in tab-bar look like Vim's tabbed browsing interface. 246 | - [[https://github.com/abougouffa/one-tab-per-project][otpp.el]] - Automatically creates enables =tab-bar-mode= and creates a tab when opening a project. 247 | 248 | *** Navigation 249 | 250 | - [[https://github.com/winterTTr/ace-jump-mode][Ace jump]] - A quick cursor jump mode. 251 | - [[https://github.com/emacs-vs/goto-line-preview][goto-line-preview]] - Preview line when executing =goto-line= command. 252 | - [[https://github.com/abo-abo/avy][Avy]] - Jump to visible text using a char-based decision tree. 253 | - [[https://github.com/cute-jumper/avy-zap][avy-zap]] - Zap to char using avy. 254 | - [[https://github.com/doitian/iy-go-to-char][iy-go-to-char]] - Go to next CHAR which is similar to "f" and "t" in vim, works well with Multiple Cursors. 255 | - [[https://github.com/camdez/goto-last-change.el][goto-last-change]] - Move point through buffer-undo-list positions. 256 | - [[https://github.com/emacsorphanage/helm-swoop][Helm-swoop]] - Efficiently jump between matched string/lines. 257 | - [[https://github.com/radian-software/ctrlf][CTRLF]] - An intuitive and efficient solution for single-buffer text search in Emacs. 258 | - [[https://github.com/emacsorphanage/anzu][anzu]] - displays current match and total matches. 259 | - [[https://www.emacswiki.org/emacs/ImenuMode][imenu]] - =[built-in]= Menus for accessing locations in documents. 260 | - [[https://github.com/vspinu/imenu-anywhere][imenu-anywhere]] - IDO/Helm imenu tag selection across all buffers with the same mode. 261 | - [[https://www.emacswiki.org/emacs/MiniMap][Minimap]] - A SublimeText-style minimap sidebar. 262 | - [[https://github.com/abo-abo/ace-link][ace-link]] - Quickly follow links in =org-mode=, =help-mode=, =Info-mode=, and several other modes. 263 | - [[https://github.com/rolandwalker/back-button][back-button]] - Visual navigation through mark rings. 264 | - [[https://github.com/joodland/bm][bm]] - Visual Bookmarks, provides an easy way to navigate in a buffer. 265 | - [[https://github.com/aki2o/emacs-pophint][emacs-pophint]] - Provide navigation like the Vimperator/KeySnail Hint Mode of Firefox. 266 | - [[https://github.com/noctuid/vertigo.el][vertigo.el]] - Jump lines using the home row. 267 | - [[https://github.com/nixin72/block-nav.el][block-nav]] - Navigate by indentation block levels. 268 | - [[https://codeberg.org/ideasman42/emacs-spatial-navigate][emacs-spatial-navigate]] - Navigate by indentation and whitespace blocks. 269 | - [[https://github.com/alezost/mwim.el][mwim]] - Toggle point between line positions of interest. 270 | - [[https://github.com/tanrax/scroll-page-without-moving-point.el][scroll-page-without-moving-point]] - Move the scroll in Emacs without moving the position cursor. 271 | - [[https://gitlab.com/Vonfry/zoxide.el][zoxide]] - A smarter cd command for Emacs. 272 | - [[https://github.com/kickingvegas/casual-avy][Casual Avy]] - A Transient user-interface for [[https://github.com/abo-abo/avy][Avy]]. Included in [[https://github.com/kickingvegas/casual-suite][Casual Suite]]. 273 | - [[https://github.com/kickingvegas/casual/blob/main/docs/bookmarks.org][Casual Bookmarks]] - a Transient user interface for the bookmark list. Included in [[https://github.com/kickingvegas/casual][Casual]]. 274 | - [[https://github.com/kickingvegas/casual/blob/main/docs/info.org][Casual Info]] - a Transient user interface for Info. Included in [[https://github.com/kickingvegas/casual][Casual]]. 275 | 276 | *** Key-bindings 277 | #+BEGIN_QUOTE 278 | Possibly help prevent keyboard-related repetitive strain injury (RSI) from occurring. 279 | #+END_QUOTE 280 | - [[https://github.com/emacs-evil/evil][Evil]] - An *e* xtensible *vi* *l* ayer: manipulate Emacs with Vi key binding. 281 | - [[https://github.com/emacs-evil/evil-collection][Evil Collection]] - A collection of Evil bindings. 282 | - [[https://github.com/emacs-evil/evil-ediff][Evil Ediff]] - Evil bindings for Ediff. 283 | - [[https://github.com/emacs-evil/evil-magit][Evil Magit]] - Evil bindings for Magit. 284 | - [[https://github.com/JorisE/evil-mu4e][Evil mu4e]] - Evil bindings for mu4e. 285 | - [[https://github.com/noctuid/lispyville][LispyVille]] - Evil bindings for lispy-mode. 286 | - [[https://github.com/abo-abo/hydra][Hydra]] - Make bindings that stick around. 287 | - [[https://github.com/emacsorphanage/god-mode][god-mode]] - Global minor mode for entering Emacs commands without modifier keys. 288 | - [[https://github.com/meow-edit/meow][meow]] - Yet another modal editing on Emacs. 289 | - [[https://github.com/mrkkrp/modalka][modalka]] - Introduce native modal editing of your own design. 290 | - [[https://github.com/Kungsgeten/ryo-modal][ryo-modal]] - Inspired by modalka, ryo-modal provides useful features for creating your own modal editing environment. 291 | - [[https://gitlab.com/matsievskiysv/multistate][multistate]] - Use Evil-like binding states without predefined keybindings (Evil mode without vi). 292 | - [[https://github.com/xahlee/xah-fly-keys][xah-fly-keys]] - A modal keybinding for emacs (like vim), but based on command frequency and ergonomics. 293 | - [[https://github.com/ergoemacs/ergoemacs-mode][ergoemacs-mode]] - Global minor mode to use both common interface keys and ergonomic keys for emacs. 294 | - [[https://github.com/noctuid/general.el][general]] - A convenient, unified interface for key definitions - like use-package but for key-bindings. 295 | 296 | *** Minibuffer 297 | 298 | - [[https://www.emacswiki.org/emacs/InteractivelyDoThings][IDO]] - =[built-in]= Interactively do things with buffers and files. 299 | - [[https://github.com/DarwinAwardWinner/ido-completing-read-plus][ido-completing-read+]] - Enhance the built-in ido for completion all over Emacs. 300 | - [[https://github.com/creichert/ido-vertical-mode.el][ido-vertical-mode]] - Make ido display vertically. 301 | - [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Icomplete.html][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`. 302 | - [[https://github.com/oantolin/icomplete-vertical][icomplete-vertical]] - Make Icomplete display vertically. 303 | - [[https://github.com/emacs-helm/helm][Helm]] - (Formerly 'Anything') A powerful completion and selection narrowing framework. ( External Guides [[http://tuhdo.github.io/helm-intro.html][1]] ) 304 | - [[https://github.com/abo-abo/swiper][Ivy]] - flexible, simple tools for minibuffer completion in Emacs. 305 | - Ivy, a generic completion mechanism for Emacs. 306 | - Counsel, a collection of Ivy-enhanced versions of common Emacs commands. 307 | - Swiper, an Ivy-enhanced alternative to isearch. 308 | - [[https://www.emacswiki.org/emacs/Icicles][Icicles]] - An Emacs library that enhances minibuffer completion. 309 | - [[https://github.com/nonsequitur/smex/][smex]] - A smart M-x enhancement for Emacs. 310 | - [[https://github.com/DarwinAwardWinner/amx][amx]] - An alternative M-x interface for Emacs. 311 | - [[https://github.com/minad/vertico][vertico]] - Vertico provides a minimalistic vertical completion UI, which is based on the default completion system. 312 | - [[https://github.com/minad/marginalia][marginalia]] - Show document of function in ==M-x=, or file attributes in =C-x C-f=. 313 | - [[https://github.com/minad/consult][consult]] - Consult provides various practical commands based on the Emacs completion function completing-read. 314 | 315 | **** Fuzzy & Narrowing 316 | #+begin_quote 317 | Tools or libraries specially focused on fuzzy searching in list, mostly for minibuffer. 318 | #+end_quote 319 | 320 | - [[https://github.com/radian-software/prescient.el][prescient.el]] - Fast and intuitive frequency-and-recency-based sorting and filtering for Emacs. 321 | - [[https://github.com/oantolin/orderless][Orderless]] - Use space-separated search terms in any order when completing with Icomplete or the default interface. 322 | - [[https://github.com/manateelazycat/snails][Snails]] - A modern, easy-to-expand fuzzy search framework. 323 | - [[https://github.com/radian-software/selectrum][selectrum]] - Clean, stable, and intuitive incremental narrowing framework for Emacs. [Deprecated. The project suggests using Vertico] 324 | - [[https://github.com/jojojames/fussy][fussy]] - Emacs completion-style leveraging flx / fzf / etc 325 | 326 | *** Mode-line 327 | - [[https://github.com/milkypostman/powerline][powerline]] - Emacs version of the Vim powerline. 328 | - [[https://github.com/johnson-christopher/powerline-evil][powerline-evil]] - Utilities for better Evil support for Powerline. 329 | - [[https://github.com/Malabarba/smart-mode-line][smart-mode-line]] - A sexy mode-line for Emacs. 330 | - [[https://github.com/TheBB/spaceline][spaceline]] - Powerline theme from Spacemacs. 331 | - [[https://github.com/dbordak/telephone-line][telephone-line]] - A new implementation of Powerline for Emacs. 332 | - [[https://github.com/manateelazycat/awesome-tray][awesome-tray]] - Display mode-line information at right of minibuffer. 333 | - [[https://github.com/myrjola/diminish.el][diminish]] - Diminished modes are minor modes with no modeline display. 334 | - [[https://github.com/seagle0128/doom-modeline][doom-modeline]] - A mode-line package included in Doom and Centaur emacs. 335 | - [[https://github.com/radian-software/blackout][blackout]] - Customize or hide the display of major and minor modes in the mode-line. 336 | - [[https://codeberg.org/ideasman42/emacs-mode-line-idle][mode-line-idle]] - Evaluate mode-line elements when idle, displaying detailed information without sacrificing performance. 337 | - [[https://github.com/konrad1977/punch-line][punch-line]] - Minimal modeline similar to doom-modeline. Also supports [[https://github.com/konrad1977/punch-line#what-am-i-doing-plugin]["what I'm doing"]] messages. 338 | 339 | *** Dim Distracting 340 | 341 | - [[https://github.com/gonewest818/dimmer.el][dimmer.el]] - Interactively highlight which buffer is active by dimming the others. 342 | - [[https://github.com/hlissner/emacs-solaire-mode][Solaire mode]] - Visually distinguish file-visiting windows from other types of windows (like popups or sidebars) by giving them a slightly different background. 343 | - [[https://github.com/larstvei/Focus][focus]] - Dim the font color of text in surrounding paragraphs. 344 | 345 | ** Editing Enhancement 346 | 347 | - [[https://github.com/magnars/multifiles.el][multifiles.el]] - View and edit parts of multiple files in one buffer. 348 | - [[https://github.com/phillord/lentic][lentic]] - Create views of the same content in two Emacs buffers. 349 | - [[http://www.lysator.liu.se/~tab/artist/][artist-mode]] - =[built-in]= Draw ASCII lines, squares, rectangles and poly-lines, ellipses, and circles with your mouse and/or keyboard. 350 | - [[https://github.com/bbatsov/crux][crux]] - A Collection of Ridiculously Useful eXtensions for Emacs. 351 | - [[https://github.com/jorgenschaefer/typoel][typo.el]] - Emacs extension for typographical editing. 352 | - [[https://github.com/sulami/literate-calc-mode.el][literate-calc-mode]] - display live =calc= results inline. 353 | - [[https://github.com/kickingvegas/casual/blob/main/docs/editkit.org][Casual EditKit]] - a Transient user interface library for Emacs editing commands. Included in [[https://github.com/kickingvegas/casual][Casual]]. 354 | 355 | *** Indentation Enhancement 356 | 357 | - [[https://github.com/DarthFennec/highlight-indent-guides][highlight-indent-guides]] - Emacs minor mode to highlight indentation. 358 | - [[https://github.com/antonj/Highlight-Indentation-for-Emacs][highlight-Indentation-mode]] - Highlight indentation. 359 | - [[https://github.com/zk-phi/indent-guide][indent-guide]] - Show vertical lines to guide indentation. 360 | - [[https://github.com/Malabarba/aggressive-indent-mode][Aggressive-indent]] - Keeps your code always indented automatically. 361 | 362 | - [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Indent-Convenience.html][electric-indent-mode]] - =[built-in]= (enabled by default) Auto-indent current and new lines ([[https://www.emacswiki.org/emacs/AutoIndentation][Emacs Wiki]]) 363 | - [[https://codeberg.org/ideasman42/emacs-hl-indent-scope][hl-indent-scope]] - Highlight indentation using source-code scope (typically defined by brackets). 364 | - [[https://github.com/jdtsmith/indent-bars][indent-bars]] - Optimized vertical lines to guide indentation, with additional tree-sitter support. 365 | 366 | *** Symbols / Tokens 367 | 368 | - [[https://github.com/emacsmirror/rainbow-mode][rainbow-mode]] - Colorize color names / color hex code in buffers. 369 | - [[https://github.com/DevelopmentCool2449/colorful-mode][colorful-mode]] - Preview any color in your buffer 370 | - [[https://github.com/wolray/symbol-overlay][symbol-overlay]] - Highlight symbols with keymap-enabled overlays (inspired by highlight-symbol). 371 | - [[https://github.com/nschum/highlight-symbol.el][highlight-symbol]] - Auto/manually highlight the same symbols in code, navigate in them, or replace string. 372 | - [[https://github.com/fgeller/highlight-thing.el][highlight-thing]] - Light-weight minor mode to highlight thing under point using built-ins. 373 | - [[https://github.com/ankurdave/color-identifiers-mode][color-identifiers-mode]] - Color Identifiers is a minor mode for Emacs that highlights each source code identifier uniquely based on its name. 374 | - [[https://codeberg.org/ideasman42/emacs-idle-highlight-mode][idle-highlight-mode]] - Light-weight minor mode to automatically highlight the thing at point when idle, with configurable exceptions & behavior. 375 | - [[https://github.com/kickingvegas/casual-symbol-overlay][Casual Symbol Overlay]] - a Transient user interface for Symbol Overlay. Included in [[https://github.com/kickingvegas/casual-suite][Casual Suite]]. 376 | 377 | *** Whitespaces Enhancement 378 | 379 | - [[https://www.emacswiki.org/emacs/WhiteSpace][whitespace]] - =[built-in]= Visualize blanks (tab/space/newline). 380 | - [[https://github.com/purcell/whitespace-cleanup-mode][whitespace-cleanup-mode]] - Intelligently call whitespace-cleanup on save. 381 | - [[https://github.com/lewang/ws-butler][ws-butler]] - Unobtrusively trim extraneous white-space *ONLY* in lines edited. 382 | 383 | *** Delete Enhancement 384 | 385 | - [[https://www.emacswiki.org/emacs/DeleteSelectionMode][delete-selection-mode]] - =[built-in]= Auto delete selected region when typing, just like most of other modern text editors. 386 | - [[https://github.com/soutaro/hungry-delete.el][hungry-delete]] - Delete an entire block of whitespace at point. 387 | - [[https://github.com/hrehfeld/emacs-smart-hungry-delete][smart-hungry-delete]] - Delete whitespace between words, parenthesis and other delimiters in a (not very) smart way. 388 | - [[https://github.com/mrkkrp/zzz-to-char][zzz-to-char]] - Fancy replacement for =zap-to-char=. 389 | 390 | *** Fancy Icons 391 | 392 | - [[https://github.com/domtronn/all-the-icons.el][all-the-icons]] - A package used to include fancy icons within emacs. 393 | - [[https://github.com/rainstormstudio/nerd-icons.el][nerd-icons]] - A Library for Nerd Font icons. 394 | - [[https://github.com/iqbalansari/emacs-emojify][emojify]] - Display emojis in Emacs. 395 | - [[https://github.com/ryuslash/mode-icons][mode-icons]] - Show icons instead of mode names. 396 | - [[https://emacsredux.com/blog/2014/08/25/a-peek-at-emacs-24-dot-4-prettify-symbols-mode/][prettify-symbol-mode]] - =[built-in]= displaying characters as fancy symbols (e.g. =lambda= -> =λ=). 397 | 398 | *** Massive Edit 399 | 400 | - [[Https://github.com/magnars/multiple-cursors.el][Multiple cursors]] - Mark, edit multiple lines at once. 401 | - [[https://github.com/benma/visual-regexp.el][visual-regexp]] - Replace via RegExp, with real-time visual feedback directly in the buffer. 402 | - [[https://github.com/benma/visual-regexp-steroids.el/][visual-regexp-steroids]] - The same as visual-regexp, but use modern regular expressions instead of Emacs-style. 403 | - [[https://github.com/mkcms/interactive-align][ialign]] - Interactively align lines using a regular expression. 404 | - [[https://github.com/abo-abo/tiny][tiny]] - Templates based on linear range transformations. 405 | - [[https://www.emacswiki.org/emacs/AlignCommands][align]] - =[built-in]= =align= supports aligning with regular text, while =align-regexp= uses regular expressions. 406 | - [[https://github.com/szermatt/visual-replace][visual-replace]] - Provides a visual representation of replacetement. Unlike visual-regexp, it uses built-in Emacs functionality. 407 | 408 | *** Quotes & Parenthesis & Delimiters Handling 409 | 410 | **** Insert & Edit 411 | 412 | - [[https://www.emacswiki.org/emacs/ElectricPair][electric-pair-mode]] - =[built-in]= Auto close, or insert matching delimiters: parentheses, braces, brackets, etc. ([[https://www.gnu.org/software/emacs/manual/html_node/emacs/Matching.html][GNU Manual]]) 413 | - [[https://github.com/davidshepherd7/electric-operator][electric-operator]] - Automatically insert spaces around operators. 414 | - [[https://github.com/Fuco1/smartparens][SmartParens]] - Deals with parens pairs and tries to be smart about it. 415 | - [[https://github.com/coldnew/pangu-spacing][pangu-spacing]] - Minor-mode to automatically add space between CJK and Latin characters. 416 | - [[https://github.com/tslilc/siege-mode][siege-mode]] - An emacs minor mode to surround the region with smart delimiters interactively. 417 | - [[https://github.com/ganmacs/emacs-surround][emacs-surround]] - Emacs version of vim.surround 418 | - [[https://github.com/emacs-evil/evil-surround][evil-surround]] - Emacs version of vim.surround that uses =Evil= as its vi layer. 419 | 420 | **** Select 421 | 422 | - [[https://github.com/magnars/expand-region.el][expand-region.el]] - Increase selected region by semantic units. 423 | - [[https://elpa.gnu.org/packages/expreg.html][expreg]] - Like =expand-region=, but using =tree-sitter= for language-specific region expansion. 424 | - [[https://github.com/bling/evil-visualstar][evil-visualstar]] - Makes visual selections work with the * operator in =evil-mode=. 425 | 426 | **** Highlight 427 | 428 | - [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Matching.html][show-paren-mode]] - =[built-in]= a minor mode to visualize parenthesis matching. 429 | - [[https://github.com/Fanael/rainbow-delimiters][rainbow-delimiters]] - Highlights parentheses, brackets, and braces according to their depth. 430 | - [[https://github.com/tsdh/highlight-parentheses.el][highlight-parentheses.el]] - highlight surrounding parentheses. 431 | - [[https://github.com/alphapapa/prism.el][prism]] - highlight code based on depth 432 | 433 | *** Kill-ring / Clipboard 434 | 435 | - [[https://github.com/waymondo/popup-kill-ring][Popup-killring]] - Browse kill-ring with popup menu. 436 | - [[https://github.com/browse-kill-ring/browse-kill-ring][Browse-kill-ring]] - Visually navigate kill-ring. 437 | - [[https://github.com/leoliu/easy-kill][easy-kill]] - Kill & Mark Things Easily in Emacs. 438 | - [[https://github.com/bburns/clipmon][clipmon]] - Clipboard monitor for Emacs. Monitors clipboard and pastes contents on change. 439 | - [[https://github.com/rolandwalker/simpleclip][simpleclip]] - Simplified access to the system clipboard. 440 | 441 | *** Drag Lines 442 | 443 | - [[https://github.com/emacsfodder/move-text][move-text]] - move current line or region up or down. 444 | - [[https://github.com/wyuenho/move-dup][move-dup]] - Minor mode for Eclipse-like moving and duplicating lines or rectangles. 445 | - [[https://github.com/rejeep/drag-stuff.el][Drag Stuff]] - Drag Stuff is a minor mode for Emacs that makes it possible to drag stuff (words, region, lines) around in Emacs. 446 | 447 | *** Undo & Redo 448 | 449 | - [[https://www.emacswiki.org/emacs/UndoTree][undo-tree]] - Visualize the whole undo history in buffer as a tree, and you can access anywhere in it. 450 | - [[https://codeberg.org/ideasman42/emacs-undo-fu][undo-fu]] - An undo/redo system that advertises itself as being simpler than Undo Tree. 451 | - [[https://codeberg.org/ideasman42/emacs-undo-fu-session][undo-fu-session]] - Save undo history across sessions. Intended to work with, but not dependent on =undo-fu=. 452 | - [[https://github.com/jackkamm/undo-propose-el][undo-propose]] - Navigate the emacs undo history by staging undo's in a temporary buffer. 453 | - [[https://github.com/casouri/vundo][vundo]] - Navigate the emacs undo buffer history as a tree-structure. 454 | 455 | *** Multiple Major-Mode 456 | 457 | - [[https://github.com/dgutov/mmm-mode][mmm-mode]] - allows Multiple Major Modes to coexist in one buffer (ex: Embedded CSS & JS in HTML file). 458 | - [[https://github.com/polymode/polymode][polymode]] - Framework for Multiple Major Modes in Emacs (ex: Embedded programming language code in Markdown, Org, RST file...etc) 459 | 460 | 461 | *** Snippet 462 | 463 | - [[https://github.com/joaotavora/yasnippet][YASnippets]] - A template system that allows you to type an abbreviation and automatically expand it into function templates. 464 | - [[https://github.com/abo-abo/auto-yasnippet][auto-yasnippet]] - Advanced copy-paste using Yasnippet. 465 | - [[https://github.com/mkcms/ivy-yasnippet][ivy-yasnippet]] - Preview yasnippet snippets with ivy. 466 | - [[https://github.com/minad/tempel][Tempel]]: Template package which uses the syntax of the Emacs Tempo library. 467 | 468 | *** Text Conversion 469 | 470 | - [[https://github.com/mrkkrp/fix-word][fix-word]] - Transform words in Emacs (upcase, downcase, capitalize). 471 | - [[https://github.com/akicho8/string-inflection][string-inflection]] - Conversion of text between lowercase, uppercase, camelcase etc. 472 | 473 | ** Programming 474 | 475 | - [[https://cedet.sourceforge.net/][CEDET]] - =[built-in]= an advanced development environment in Emacs. 476 | - [[https://github.com/thoni56/c-xrefactory][C-xrefactory]] - refactoring tool and code browser for C and Java. 477 | - [[https://github.com/redguardtoo/evil-nerd-commenter][evil-nerd-commenter]] - Comment/uncomment lines efficiently. Like Nerd Commenter in Vim. This program can be used independently without evil-mode. 478 | - [[https://doxymacs.sourceforge.net/][Doxymacs]] - Doxymacs is Doxygen + {X}Emacs. 479 | - [[https://github.com/lassik/emacs-format-all-the-code][format-all]] - Auto-format source code in many languages using the same command. 480 | - [[https://github.com/radian-software/apheleia][apheleia]] - Run code formatter on buffer contents without moving point, using RCS patches and dynamic programming. 481 | - [[https://github.com/kickingvegas/casual/blog/main/docs/re-builder.org][Casual RE-Builder]] - a Transient user interface for RE-Builder, the built-in Elisp regular expression tool. Included in [[https://github.com/kickingvegas/casual][Casual]]. 482 | 483 | *** Completion 484 | 485 | - [[https://github.com/auto-complete/auto-complete][Auto-Complete]] - An intelligent auto-completion extension with great interface. 486 | - [[https://company-mode.github.io/][Company]] - A text completion framework. 487 | - [[https://github.com/company-mode/company-quickhelp][company-quickhelp]] - Documentation popups for company. 488 | - [[https://github.com/lewang/flx][flx]] - Fuzzy matching for Emacs like Sublime Text. 489 | - [[https://www.emacswiki.org/emacs/AbbrevMode][abbrev]] - =[built-in]= Abbreviation expander. 490 | - [[https://github.com/abingham/emacs-ycmd][emacs-ycmd]] - Emacs client for YCM. 491 | - [[https://github.com/minad/corfu][corfu]] - Corfu enhances the default completion in region function with a completion overlay. 492 | - [[https://github.com/minad/cape][cape]] - Completion At Point extensions that can be used with =corfu=, =company=, or the default completion ui. 493 | - [[https://codeberg.org/ideasman42/emacs-recomplete][recomplete]] - Immediate completion that doesn't block user input, but cycles through options on successive calls. It can also be used with ISpell as a fast way to correct typos. 494 | - [[https://codeberg.org/ideasman42/emacs-mono-complete][mono-complete]] - Non-blocking completion with preview that doesn't block user input which supports multiple back-ends at once including back-ends for dabbrev, capf and statistical word prediction among others. 495 | 496 | *** Jump to Definition / Tagging 497 | 498 | - [[http://www.gnu.org/software/global/][GNU Global]] - advanced source code tagging system with jump to definition functionality. 499 | - [[https://github.com/jacktasia/dumb-jump][Dumb Jump]] - easy jump to definition package for multiple languages using =ag= or =grep=. 500 | - [[https://github.com/jojojames/smart-jump][Smart Jump]] - smartly go to definition leveraging several methods to do so. 501 | - [[https://github.com/leoliu/ggtags][ggtags]] - Emacs frontend to GNU Global source code tagging system. 502 | - [[https://github.com/universal-ctags/citre][Citre]] - Advanced Ctags frontend, comes with powerful code-reading tool. 503 | 504 | *** LSP Client 505 | 506 | - [[https://github.com/emacs-lsp/lsp-mode][lsp-mode]] - Emacs client for the [[https://langserver.org/][Language Server Protocol]]. 507 | - [[https://github.com/emacs-lsp/lsp-ui][lsp-ui]] - An extension which adds code lenses and documentation pop-up for lsp-mode. 508 | - [[https://github.com/joaotavora/eglot][eglot]] - =[built-in]= A client for Language Server Protocol servers. 509 | - [[https://github.com/manateelazycat/lsp-bridge][lsp-bridge]] - Fastest LSP client for Emacs. 510 | - [[https://github.com/zbelial/lspce][lspce]] - Simple LSP client implemented as an Emacs module using Rust. 511 | 512 | *** Debugging 513 | 514 | - [[https://github.com/realgud][realgud]] - A modular front-end for interacting with external debuggers. 515 | - [[https://github.com/emacs-lsp/dap-mode][dap-mode]] - An implementation of the debug adapter protocol used in VSCode and other editors. 516 | 517 | *** Error Checking 518 | 519 | - [[https://www.emacswiki.org/emacs/FlyMake][FlyMake]] - =[built-in]= on-the-fly syntax checks on files using external tools. 520 | - [[https://github.com/flycheck/flycheck][Flycheck]] - Modern on-the-fly syntax checking meant to be a replacement to =FlyMake=. 521 | 522 | *** Document 523 | 524 | - [[https://github.com/astoff/devdocs.el][devdocs]] - Browse [[https://devdocs.io][DevDocs.io]] docsets offline. 525 | - [[https://github.com/dash-docs-el/helm-dash][Helm-dash]] - Browse [[https://kapeli.com/dash][Dash]] docsets via Helm interface. 526 | - [[https://www.emacswiki.org/emacs/ElDoc][eldoc]] - =[built-in]= shows function arguments / variable doc in minibuffer when coding. 527 | - [[https://github.com/casouri/eldoc-box][eldoc-box]] - Displays =eldoc= documentation within a childframe. 528 | - [[https://github.com/kuanyui/tldr.el][tldr.el]] - Emacs client of [[https://github.com/tldr-pages/tldr][tldr-pages]]. 529 | 530 | *** Code Folding 531 | 532 | - [[https://github.com/matsievskiysv/vimish-fold][vimish-fold]] - Vim-like text folding. 533 | - [[https://www.emacswiki.org/emacs/HideShow][hideshow]] - =[built-in]= Folding regions by balanced-expression code. 534 | - [[https://www.emacswiki.org/emacs/download/hideshowvis.el][hideshowvis]] - Based on =hideshow=, just display its nodes on fringe. 535 | - [[https://github.com/gregsexton/origami.el][Origami.el]] - Feature rich text folding minor mode. 536 | - [[https://github.com/emacs-tree-sitter/ts-fold][ts-fold]] - Code-folding using tree-sitter. 537 | - [[https://github.com/emacs-tree-sitter/treesit-fold][treesit-fold]] - Code folding based on the tree-sitter syntax tree, built on top of treesit.el. 538 | - [[https://github.com/jamescherti/outline-indent.el][outline-indent]] - Fold text based on indentation levels. 539 | 540 | *** Compiling 541 | 542 | - [[https://github.com/ReanGD/emacs-multi-compile][multi-compile]] - Multi target interface to compile. 543 | - [[https://codeberg.org/ideasman42/emacs-fancy-compilation][fancy-compilation]] - Output enhancements to compilation-mode (including color support). 544 | - [[https://github.com/emacsorphanage/quickrun][quickrun]] - Implements run button used in many IDE. 545 | - [[https://github.com/jamescherti/compile-angel.el][compile-angel.el]] - A package that ensures all `.el` files are both byte-compiled and native-compiled, significantly speeding up Emacs. 546 | 547 | ** Project management 548 | 549 | - [[https://github.com/bbatsov/projectile][Projectile]] - Project Interaction Library for Emacs. 550 | - [[https://github.com/rejeep/prodigy.el][Prodigy]] - Manage external services from within Emacs. 551 | - [[https://github.com/sabof/project-explorer][Project-Explorer]] - a tree project explorer (integrates with projectile). 552 | - [[https://github.com/redguardtoo/find-file-in-project][Find-file-in-project]] - Quick access to project files in Emacs. 553 | - [[https://github.com/salorak/whaler.el][Whaler]] - Minimalistic and highly customizable project manager. 554 | 555 | ** File Manager 556 | 557 | - [[https://www.emacswiki.org/emacs/DiredMode][Dired]] - =[built-in]= *Dir* ectory *Ed* itor. A customizable great file manager. 558 | - [[https://github.com/alexluigit/dirvish][Dirvish]] - A polished Dired bundled with useful extensions. 559 | - [[https://www.emacswiki.org/emacs/DiredPlus][Dired+]] - Functional & interface extensions for Dired. 560 | - [[https://github.com/Fuco1/dired-hacks][dired-hacks]] - Collection of useful Dired additions. 561 | - [[https://github.com/emacsorphanage/dired-k][dired-k]] - Highlight Dired buffer by file size, modified time, git status. 562 | - [[https://github.com/kickingvegas/casual/blob/main/docs/dired.org][Casual Dired]] - a Transient user interface for the Dired file manager. Included in [[https://github.com/kickingvegas/casual][Casual]]. 563 | - [[https://github.com/jaypei/emacs-neotree][NeoTree]] - A emacs tree plugin like NERD tree for Vim. 564 | - [[https://www.emacswiki.org/emacs/SrSpeedbar][Sr Speedbar]] - Same frame speedbar. 565 | - [[https://github.com/anshulverma/projectile-speedbar][projectile-speedbar]] - Speedbar and Projectile integration. 566 | - [[https://github.com/emacsorphanage/direx][Direx]] - directory tree explorer. 567 | - [[https://codeberg.org/fourier/ztree][ztree]] - Directory tree comparison mode. 568 | - [[https://github.com/punassuming/ranger.el][Ranger]] - [[http://ranger.nongnu.org/][ranger]] like file manager based on Dired. 569 | - [[https://github.com/sunrise-commander/sunrise-commander][Sunrise Commander]] - Twin-pane file manager for Emacs based on Dired and inspired by Midnight Commander. 570 | - [[https://github.com/Alexander-Miller/treemacs][Treemacs]] - a tree layout file explorer for Emacs. 571 | - [[https://github.com/sebastiencs/sidebar.el][Sidebar.el]] - A customizable file explorer with git integration for emacs. 572 | - [[https://github.com/raghavgautam/tramp-hdfs][tramp-hdfs]] - Browse HDFS in Emacs with dired using Tramp. 573 | - [[https://github.com/suntsov/efar][eFar]] - FAR-like file manager. 574 | - [[https://github.com/knpatel401/filetree][filetree]] - tree-based file explorer. 575 | - [[https://github.com/kickingvegas/casual/blob/main/docs/ibuffer.org][Casual IBuffer]] - a Transient user interface for IBuffer, a major mode for viewing and managing Emacs buffers. Included in [[https://github.com/kickingvegas/casual][Casual]]. 576 | 577 | ** Programming Language 578 | 579 | *** C/C++ 580 | - [[https://cc-mode.sourceforge.net/][CC Mode]] - =[built-in]= An Emacs and XEmacs mode for editing C and other languages with similar syntax. 581 | - [[https://github.com/Andersbakken/rtags][rtags]] - A C/C++ client/server indexer with for integration with emacs based on clang. 582 | - [[https://github.com/emacs-lsp/emacs-ccls][emacs-ccls]] - Emacs client of [[https://github.com/MaskRay/ccls][ccls]], a C/C++/Objective-C language server powered by clang. 583 | - [[https://github.com/cquery-project/emacs-cquery][emacs-cquery]] - Emacs client of [[https://github.com/jacobdufault/cquery][cquery]], a C/C++/Objective-C language server powered by clang. 584 | - [[https://github.com/Sarcasm/irony-mode][irony-mode]] - A C/C++ minor mode for Emacs powered by libclang. 585 | - [[https://github.com/Lindydancer/cmake-font-lock][cmake-font-lock]] - Enhanced font-lock rules for CMake. 586 | - [[https://github.com/abo-abo/function-args][function-args]] - visual CEDET enhancements for C++. 587 | - [[https://www.gnu.org/software/emacs/manual/html_node/ebrowse/index.html][Ebrowse]] - =[built-in]= A C++ class browser. 588 | - [[https://github.com/atilaneves/cmake-ide/][cmake-ide]] - Configures other packages to consider compile options like include paths from cmake projects to improve e.g. autocompletion. 589 | - [[https://github.com/emacsmirror/clang-format][clang-format]] - An interface to clang-format for Emacs, provides C/C++ code formatting functionality. 590 | - [[https://github.com/mkcms/compiler-explorer.el][compiler-explorer]] - A client for [[https://godbolt.org][compiler-explorer]] 591 | 592 | *** Python 593 | 594 | - [[https://github.com/jorgenschaefer/elpy][Elpy]] - An Emacs Python development environment. 595 | - [[https://github.com/pythonic-emacs/anaconda-mode][anaconda-mode]] - Code navigation, documentation lookup and completion for Python. 596 | - [[https://github.com/porterjamesj/virtualenvwrapper.el][virtualenvwrapper.el]] - Manage virtualenv from inside Emacs. 597 | - [[https://github.com/pwalsh/pipenv.el][pipenv.el]] - Integrates pipenv to emacs providing useful commands. 598 | - [[https://github.com/Reagankm/renpy-mode][renpy-mode]] - Emacs major mode for working with the Ren'Py visual novel engine. 599 | 600 | *** Ruby 601 | 602 | - [[https://github.com/senny/rvm.el][rvm]] - Ruby versions manager within Emacs. 603 | - [[https://github.com/endofunky/bundler.el][bundler]] - Interact with gem Bundler from Emacs. 604 | - [[https://github.com/nonsequitur/inf-ruby][inf-ruby]] - REPL buffer connected to a Ruby subprocess. 605 | - [[https://github.com/zenspider/enhanced-ruby-mode][enhanced-ruby-mode]] - Enhanced Ruby Mode replaces the emacs ruby mode that 606 | comes with ruby. It uses the Ripper class found in ruby 1.9.2 (and later) 607 | to parse and indent the source code. 608 | - [[https://www.emacswiki.org/emacs/yari.el][yari]] - Yet Another RI interface for Emacs. 609 | - [[https://github.com/dgutov/robe][robe]] - Code navigation, documentation lookup and completion for Ruby. 610 | - [[https://github.com/rubocop/rubocop][rubocop]] - A Ruby static code analyzer, based on the community Ruby style guide. 611 | - [[https://github.com/ainame/motion-mode][motion-mode]] - A package to provide emacs' major mode for RubyMotion environment. 612 | - [[https://github.com/pezra/rspec-mode][rspec-mode]] - An RSpec minor mode for Emacs. 613 | - [[https://github.com/michaelklishin/cucumber.el][feature-mode]] - Emacs mode for editing Cucumber plain text stories. 614 | - [[https://github.com/asok/projectile-rails][projectile-rails]] - Emacs minor mode for working with Ruby on Rails applications and engines. 615 | - [[https://github.com/eschulte/rinari][rinari]] - Rinari Is Not A Rails IDE (it is an Emacs minor mode for Rails). 616 | 617 | *** Lisp Family 618 | 619 | - [[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. 620 | - [[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. 621 | - [[https://github.com/DogLooksGood/parinfer-mode][Parinfer]] - [[https://shaunlebron.github.io/parinfer/][Parinfer]] for Emacs, simpler Lisp editing. 622 | 623 | **** Common Lisp 624 | 625 | - [[https://github.com/slime/slime][SLIME]] - A fully-functional IDE for Common Lisp development, with debugger, REPL. 626 | - [[https://github.com/joaotavora/sly][SLY]] - A fork of SLIME. 627 | - [[https://github.com/mrkkrp/common-lisp-snippets][common-lisp-snippets]] - Yasnippets for Common Lisp. 628 | 629 | **** Scheme 630 | 631 | - [[https://www.neilvandyke.org/quack/][Quack]] - Enhanced Emacs Support for Editing and Running Scheme Code. 632 | - [[http://www.nongnu.org/geiser/][Geiser]] - Integrated development with Guile and Racket. 633 | 634 | **** Racket 635 | 636 | - [[https://github.com/greghendershott/racket-mode][racket-mode]] - Major modes for Racket: Edit and REPL. 637 | 638 | **** Clojure 639 | 640 | - [[https://github.com/clojure-emacs/clojure-mode][Clojure mode]] - A major mode for clojure. 641 | - [[https://github.com/clojure-emacs/cider][Cider]] - Clojure IDE and REPL. 642 | - [[https://github.com/mpenet/clojure-snippets][Clojure snippets]] - Clojure snippets with yasnippet. 643 | - [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor.el]] - A collection of Clojure refactoring functions for Emacs. 644 | 645 | **** Emacs Lisp 646 | - [[https://github.com/Fanael/highlight-defined][highlight-defined]] - Highlight defined functions' / variables' name. 647 | - [[https://www.emacswiki.org/emacs/InferiorEmacsLispMode][ielm]] - =[built-in]= A simple Emacs Lisp REPL. 648 | - [[https://github.com/Silex/elmacro][elmacro]] - Display keyboard macros or latest interactive commands as Emacs Lisp. 649 | - [[https://github.com/Wilfred/suggest.el][suggest.el]] - Discover elisp functions that do what you want. 650 | - [[https://github.com/cpitclaudel/easy-escape][easy-escape]] - Improve readability of escape characters in ELisp regular expressions. 651 | - [[https://github.com/xiongtx/eros][eros]] - Evaluation Result OverlayS for Emacs Lisp. 652 | - [[https://codeberg.org/ideasman42/emacs-elisp-autofmt][elisp-autofmt]] - Auto-format ELisp (with support for formatting the buffer on save). 653 | 654 | *** Web Development 655 | 656 | - [[https://web-mode.org/][web-mode]] - major mode for editing various html templates (PHP, JSP, ASP, ERB...etc). 657 | - [[https://github.com/smihica/emmet-mode][emmet]] - [[https://emmet.io/][Emmet]] support for Emacs. 658 | - [[https://github.com/P233/emmet2-mode][emmet2]] - Another implemenation of [[https://emmet.io/][Emmet]], that leverages the =npm= package instead of replicating the logic in lisp. 659 | - [[https://github.com/yasuyk/web-beautify][web-beautify]] - Format HTML, CSS and JavaScript/JSON by js-beautify. 660 | - [[https://github.com/skeeto/skewer-mode][skewer-mode]] - live interact with JavaScript, CSS, and HTML in a web-browser. 661 | - [[https://github.com/skeeto/impatient-mode][impatient-mode]] - See your changes in the browser as you type. 662 | - [[https://github.com/pashky/restclient.el][restclient.el]] - HTTP REST client tool for emacs. 663 | - [[https://github.com/nicferrier/elnode][elnode]] - An evented IO webserver in Emacs Lisp. 664 | - [[https://github.com/federicotdn/verb][verb]] - Organize and send HTTP requests from Emacs. 665 | 666 | **** JavaScript 667 | 668 | - [[https://github.com/mooz/js2-mode/][js2-mode]] - Improved JavaScript editing mode. 669 | - [[https://js-comint-el.sourceforge.net/][js-comint.el]] - Run an inferior javascript REPL process in Emacs. 670 | - [[http://ternjs.net/doc/manual.html#emacs][tern]] - Emacs flavor of the popular JavaScript analysis engine. 671 | - [[https://github.com/json-emacs/json-mode][json-mode]] - Major mode for editing JSON files. 672 | - [[https://github.com/NicolasPetton/indium][indium]] - A JavaScript development environment for Emacs. 673 | - [[https://github.com/js-emacs/js2-refactor.el][js2-refactor]] - A JavaScript refactoring library for emacs. 674 | - [[https://github.com/felipeochoa/rjsx-mode][rjsx-mode]] - A JSX major mode for Emacs. 675 | - [[https://github.com/shaneikennedy/npm.el][npm.el]] - Run your npm workflows in emacs. 676 | 677 | ***** CoffeeScript 678 | 679 | - [[https://github.com/defunkt/coffee-mode][coffee-mode]] - An Emacs major mode for CoffeeScript and IcedCoffeeScript. 680 | 681 | ***** TypeScript 682 | 683 | - [[https://github.com/ananthakumaran/tide][Tide]] - TypeScript Interactive Development Environment for Emacs. 684 | 685 | ***** PureScript 686 | 687 | - [[https://github.com/dysinger/purescript-mode][purescript-mode]] - An Emacs major mode for PureScript. 688 | - [[https://github.com/purescript-emacs/emacs-psci][emacs-psci]] - An Emacs major mode for psci. 689 | - [[https://github.com/purescript-emacs/psc-ide-emacs][psc-ide-emacs]] - Emacs integration for PureScript's psc-ide tool. 690 | 691 | **** PHP 692 | 693 | - [[https://github.com/emacs-php/php-mode][php-mode]] - Major mode for PHP programming. 694 | - [[https://github.com/nlamirault/phpunit.el][phpunit.el]] - Launch PHP unit tests using phpunit. 695 | - [[https://github.com/emacs-php/phpactor.el][phpactor.el]] - Interface to Phpactor (an intelligent code-completion and refactoring tool for PHP). 696 | - [[https://github.com/emacs-php/composer.el][composer.el]] - PHP Composer interface for Emacs. 697 | - [[https://github.com/emacs-php/psysh.el][psysh.el]] - PsySH on Emacs, PHP interactive shell (REPL). 698 | 699 | *** Java 700 | 701 | - [[https://github.com/emacs-eclim/emacs-eclim][emacs-eclim]] - An Eclipse plugin which exposes Eclipse features through a server interface. 702 | - [[https://github.com/mopemope/meghanada-emacs][meghanada-emacs]] - A Better Java Development Environment for Emacs. 703 | - [[https://github.com/emacs-lsp/lsp-java][lsp-java]] - Eclipse JDT Language Server integration for Emacs. 704 | 705 | *** Go 706 | 707 | - [[https://github.com/dominikh/go-mode.el][Gomode]] - Go mode rewrite for Emacs. Provides Go toolchain integration. 708 | - [[https://github.com/dougm/goflymake][Goflymake]] - Go syntax checker. Wrapper around Emacs flymake for Go. 709 | - [[https://github.com/nsf/gocode][Gocode]] - An autocompletion daemon for the Go programming language. 710 | - [[https://github.com/dominikh/go-errcheck.el][Goerrcheck]] - go-errcheck provides an easy way to invoke errcheck from within Emacs. 711 | - [[https://github.com/grafov/go-playground][Go-playground]] - Local playground for Go code snippets. 712 | - [[https://github.com/manute/gorepl-mode][GoRepl]] - A minor emacs mode for Go REPL. 713 | - [[https://github.com/nlamirault/gotest.el][gotest.el]] - Launch GO unit tests. 714 | - [[https://github.com/brantou/emacs-go-tag][emacs-go-tag]] - Edit field tags for golang struct fields, based on [[https://github.com/fatih/gomodifytags][gomodifytags]]. 715 | - [[https://github.com/weijiangan/flycheck-golangci-lint][flycheck-golangci-lint]] - Flycheck checker for golangci-lint. 716 | 717 | *** C# 718 | 719 | - [[https://github.com/emacs-csharp/csharp-mode][csharp-mode]] - Major mode for C#. 720 | - [[https://github.com/OmniSharp/omnisharp-emacs][omnisharp-emacs]] - IDE-like features for editing C# code. 721 | 722 | *** Rust 723 | 724 | - [[https://github.com/rust-lang/rust-mode][rust-mode]] - An Emacs major mode for editing Rust code. 725 | - [[https://github.com/flycheck/flycheck-rust][flycheck-rust]] - Better Rust/Cargo support for Flycheck. 726 | - [[https://github.com/racer-rust/emacs-racer][emacs-racer]] - Racer support for Emacs. 727 | - [[https://github.com/kwrooijen/cargo.el][cargo.el]] - Cargo support for Emacs. 728 | - [[https://github.com/brotzeit/rustic][rustic]] - A fork of rust mode with improvements and configurations for things such as flycheck and lsp-mode. 729 | 730 | *** Erlang 731 | 732 | - [[https://www.erlang.org/doc/apps/tools/erlang_mode_chapter.html][erlang]] - The official Erlang mode for Emacs. 733 | - [[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. 734 | - [[https://github.com/sebastiw/edts][EDTS]] - EDTS is meant to be able to replace Distel but only provides part of the most commonly used of Distel's features. 735 | - [[https://github.com/RefactoringTools/Wrangler][Wrangler]] - Wrangler is a mode that supports interactive refactoring of Erlang programs. 736 | 737 | *** Elixir 738 | 739 | - [[https://github.com/elixir-editors/emacs-elixir][elixir-mode]] - Emacs major mode for Elixir. 740 | - [[https://github.com/tonini/alchemist.el][alchemist]] - Elixir Tooling Integration Into Emacs. 741 | 742 | *** Haskell 743 | 744 | - [[https://github.com/haskell/haskell-mode][haskell-mode]] - Major mode for Haskell. 745 | - [[https://github.com/jyp/dante][dante]] - Dante provides a frontend to GHCi features: type-checking, execution, completion and cross referencing. It integrates with standard Emacs tooling as much as possible. 746 | - [[https://github.com/projectional-haskell/structured-haskell-mode][structured-haskell-mode]] - Minor mode for structured editing of Haskell. 747 | - [[https://github.com/alanz/HaRe][HaRe]] - Haskell refactoring tool with Emacs integration. 748 | - [[https://github.com/matthewbauer/nix-haskell-mode]] - Nix integration for Haskell development. 749 | - [[https://github.com/emacs-lsp/lsp-haskell][lsp-haskell]] and [[https://github.com/haskell/haskell-language-server][haskell-language-server]] - A successor to Intero under active development. 750 | 751 | #+BEGIN_QUOTE 752 | External Guides: 753 | - [[https://github.com/serras/emacs-haskell-tutorial/blob/master/tutorial.md][Using Emacs for Haskell development]] 754 | #+END_QUOTE 755 | 756 | *** Swift 757 | 758 | - [[https://github.com/swift-emacs/swift-mode][swift-mode]] - Emacs support for Apple's Swift programming language. 759 | - [[https://gitlab.com/michael.sanders/swift-playground-mode][swift-playground-mode]] - Emacs support for Swift playgrounds. 760 | - [[https://github.com/nathankot/company-sourcekit][company-sourcekit]] - Completion for Swift projects via SourceKit with the help of SourceKitten. 761 | 762 | *** Scala 763 | 764 | - [[https://ensime.github.io/][Ensime]] - ENhanced Scala Interaction Mode for Emacs. 765 | - [[https://github.com/hvesalai/emacs-sbt-mode_old][sbt-mode]] - An emacs mode for interacting with scala sbt and projects. 766 | - [[https://scalameta.org/metals/docs/editors/emacs/][Metals]] - Scala language server with rich IDE features. 767 | 768 | *** Lua 769 | 770 | - [[https://github.com/immerrr/lua-mode/][lua-mode]] - A major mode for editing Lua sources in Emacs. 771 | 772 | *** Makefile 773 | 774 | - [[https://www.emacswiki.org/emacs/MakefileMode][Makefile Mode]] - =[built-in]= A major mode for editing Makefiles. 775 | - [[https://github.com/abo-abo/helm-make][helm-make]] - Select a Makefile target with helm. 776 | - [[https://github.com/nick96/basic-c-compile][basic-c-compile]] - Emacs package to create a Makefile, compile and run a C file. 777 | - [[https://github.com/Olivia5k/makefile-executor.el][makefile-executor]] - Emacs helpers to run things from Makefiles. 778 | - [[https://github.com/danamlund/emacs-makefile-runner][emacs-makefile-runner]] - Searches for Makefile and fetches targets. 779 | 780 | *** SML 781 | 782 | - [[http://www.iro.umontreal.ca/~monnier/elisp/][SML mode]] - a major Emacs mode for editing Standard ML source code. 783 | 784 | *** Gdscript 785 | 786 | - [[https://github.com/godotengine/emacs-gdscript-mode][gdscript-mode]] - An Emacs package to get GDScript support and syntax highlighting. 787 | 788 | *** Groovy 789 | 790 | - [[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. 791 | - [[https://github.com/lifeisfoo/emacs-grails][grails.el]] - A minor mode for Grails projects. 792 | 793 | *** Kotlin 794 | 795 | - [[https://github.com/Emacs-Kotlin-Mode-Maintainers/kotlin-mode][kotlin-mode]] - Kotlin major mode for Emacs. 796 | 797 | *** R 798 | 799 | - [[https://ess.r-project.org/][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. 800 | 801 | *** Julia 802 | 803 | - [[https://github.com/JuliaEditorSupport/julia-emacs/][julia-mode]] - Major mode for editing Julia source code. 804 | - [[https://github.com/tpapp/julia-repl][julia-repl]] - A minor emacs mode for Julia REPL. 805 | 806 | *** OCaml 807 | 808 | - [[https://github.com/ocaml/tuareg][tuareg]] - a Caml mode for Emacs. 809 | - [[https://www.typerex.org/][TypeRex]] - a set of tools for developing in OCaml. 810 | - [[https://github.com/ocaml/merlin][Merlin]] - an assistant for editing OCaml code. 811 | 812 | *** ReasonML 813 | 814 | - [[https://github.com/reasonml-editor/reason-mode][reason-mode]] - An Emacs major mode for ReasonML. 815 | 816 | *** Mint 817 | 818 | - [[https://github.com/creatorrr/emacs-mint-mode][emacs-mint-mode]] - An Emacs major mode for editing Mint code. 819 | 820 | *** Nim 821 | 822 | - [[https://github.com/nim-lang/nim-mode][nim-mode]] - An Emacs major mode for editing Nim code. 823 | 824 | *** D 825 | 826 | - [[https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode][Emacs-D-Mode]] - An Emacs major mode for editing D code. 827 | 828 | *** Raku 829 | 830 | - [[https://github.com/Raku/raku-mode][raku-mode]] - An Emacs major mode for editing Raku code. 831 | 832 | *** Elm 833 | 834 | - [[https://github.com/jcollard/elm-mode][elm-mode]] - An Emacs major mode for editing Elm code. 835 | 836 | *** Stan 837 | 838 | - [[https://github.com/stan-dev/stan-mode][stan-mode]] - An Emacs major mode for editing Stan code. 839 | 840 | *** MIPS Assembly 841 | 842 | - [[https://github.com/hlissner/emacs-mips-mode][mips-mode]] - An emacs major mode for editing MIPS assembly. 843 | 844 | *** RISC-V Assembly 845 | 846 | - [[https://github.com/AdamNiederer/riscv-mode][riscv-mode]] - An emacs major mode for editing RISC-V assembly. 847 | 848 | *** Verilog/SystemVerilog 849 | 850 | - [[https://github.com/veripool/verilog-mode][verilog-mode]] - Emacs major mode for Verilog and SystemVerilog with Indentation, Highlighting and AUTOs. 851 | - [[https://github.com/gmlarumbe/verilog-ext][verilog-ext]] - SystemVerilog Extensions for Emacs. 852 | - [[https://github.com/gmlarumbe/verilog-ts-mode][verilog-ts-mode]] - SystemVerilog Tree-sitter mode for Emacs. 853 | 854 | *** VHDL 855 | 856 | - [[https://iis-people.ee.ethz.ch/~zimmi/emacs/vhdl-mode.html][vhdl-mode]] - =[built-in]= Emacs major mode for editing VHDL code. 857 | - [[https://github.com/gmlarumbe/vhdl-ext][vhdl-ext]] - VHDL Extensions for Emacs. 858 | - [[https://github.com/gmlarumbe/vhdl-ts-mode][vhdl-ts-mode]] - VHDL Tree-sitter mode for Emacs. 859 | 860 | *** LAMMPS 861 | 862 | - [[https://github.com/HaoZeke/lammps-mode][lammps-mode]] - Emacs major mode for [[https://github.com/lammps/lammps][LAMMPS Molecular Dynamics Simulator]] scripts with proper font-locking. 863 | 864 | *** Ada 865 | 866 | - [[https://www.nongnu.org/ada-mode/][ada-mode]] - An emacs major mode for editing Ada sources. 867 | - [[https://elpa.gnu.org/packages/gpr-mode.html][gpr-mode]] - An emacs major mode for editing GNAT Project files (GPR). 868 | 869 | ** AI 870 | 871 | *** Code Completion 872 | 873 | - [[https://github.com/s-kostyaev/ellama][Ellama]] - Emacs plugin for [[https://github.com/ollama/ollama][Ollama]], which has both code completion and refactoring capabilities, running on the CPU and with experimental AMD GPU support. 874 | - [[https://github.com/ragnard/tabby-mode][tabby-mode]] - Emacs interface for [[https://www.tabbyml.com/][Tabby]], an OpenSource self-hosted coding assistant with support for CPU and AMD GPU. 875 | - [[https://github.com/copilot-emacs/copilot.el][Copilot.el]] - an Emacs plugin for GitHub Copilot. 876 | - [[https://github.com/milanglacier/minuet-ai.el][Minuet-ai.el]] - Minuet offers code completion as-you-type from popular LLMs including OpenAI, Gemini, Claude, Ollama, Llama.cpp, Codestral, and more. 877 | 878 | 879 | *** ChatGPT 880 | 881 | - [[https://github.com/rksm/org-ai][org-ai]] - Minor mode for Emacs org-mode that provides access to generative AI models. 882 | - [[https://github.com/xenodium/chatgpt-shell][chatgpt-shell]] - ChatGPT and DALL-E Emacs shells + Org Babel. 883 | - [[https://github.com/karthink/gptel][GPTel]] - A simple ChatGPT client for Emacs. 884 | - [[https://github.com/emacs-openai/chatgpt][chatgpt]] - Use ChatGPT inside Emacs 885 | 886 | *** AI assistant programming 887 | - [[https://github.com/tninja/aider.el][aider.el]] - aider (AI Pair Programming) Inside Emacs 888 | - [[https://github.com/lanceberge/elysium][elysium]] - Automatically apply AI-generated changes as you code with GPTel 889 | - [[https://github.com/emacs-openai/codegpt][codegpt]] - Use GPT-3 inside Emacs 890 | - [[https://github.com/chep/copilot-chat.el][copilot-chat.el]] - Chat with Github Copilot 891 | 892 | ** Session management 893 | 894 | - [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Saving-Emacs-Sessions.html][desktop]] - =[built-in]= Save and restore the state of your Emacs environment. 895 | - [[https://github.com/jamescherti/easysession.el][easysession]] - A lightweight session manager that persists and restores Emacs frames, the tab-bar, and buffers (file editing buffers, indirect buffers, Dired buffers, etc.). 896 | 897 | ** Keys Cheat Sheet 898 | 899 | - [[https://github.com/justbur/emacs-which-key][which-key]] - =[built-in]= Display available key bindings in popup. Rewrite of guide-key with added features to improve display. 900 | - [[https://github.com/emacs-helm/helm-descbinds][helm-descbinds]] - Helm interface for Emacs' =describe-bindings=. 901 | - [[https://github.com/kai2nenobu/guide-key][guide-key]] - Displays the available key bindings automatically and dynamically. 902 | - [[https://github.com/aki2o/guide-key-tip][guide-key-tip]] - Tooltip version of guide-key. 903 | - [[https://framagit.org/steckerhalter/discover-my-major][discover-my-major]] - Discover key bindings and their meaning for the current Emacs major mode. 904 | - [[https://github.com/mickeynp/discover.el][discover.el]] - Discover more of emacs with well-categorized context menus. 905 | - [[https://github.com/mykyta-shyrin/cheatsheet][cheatsheet]] - Create your own customized cheatsheet. 906 | 907 | ** Note 908 | 909 | - [[http://www.gnu.org/software/emacs-muse/][Emacs Muse]] - a publishing environment for Emacs. 910 | - [[https://github.com/rnkn/fountain-mode/][Fountain Mode]] - a full-featured screenwriting environment for GNU Emacs using the Fountain markup format. 911 | - [[https://github.com/tmalsburg/guess-language.el][guess-language]] - Robust automatic language detection (e.g. Arabic, Czech, Danish, etc). 912 | - [[https://github.com/SavchenkoValeriy/emacs-powerthesaurus][emacs-powerthesaurus]] - Powerthesaurus integration for Emacs. 913 | - [[https://github.com/jrblevin/deft][deft]] - Quickly browse, filter, and edit directories of plain text notes. 914 | - [[https://github.com/EFLS/zetteldeft][zetteldeft]] - Extend deft.el and turn it into a basic Zettelkasten note-taking system. 915 | 916 | *** Org-mode 917 | 918 | - [[https://orgmode.org/][Org]] - =[built-in]= Write notes, GTD, authoring, publish and wash dishes. 919 | - [[https://github.com/emacsorphanage/org-page][org-page]] - A static site generator based on org-mode files. 920 | - [[https://github.com/coldnew/org-ioslide][org-ioslide]] - Export Org document into Google I/O HTML5 slide. 921 | - [[https://github.com/sabof/org-bullets][org-bullets]] - Shows org-mode bullets as pretty UTF-8 characters. 922 | - [[https://github.com/minad/org-modern][org-modern]] - Implements a modern style for org buffers, including UTF-8 characters. 923 | - [[https://github.com/org-trello/org-trello][org-trello]] - Minor mode to synchronize org-mode buffer and [[https://trello.com][trello]] board. 924 | - [[https://github.com/alphapapa/org-protocol-capture-html][org-protocol-capture-html]] - Capture HTML from the browser selection into Emacs as org-mode content. 925 | - [[https://github.com/Kungsgeten/org-brain][org-brain]] - Org-mode wiki + concept-mapping. 926 | - [[https://github.com/rexim/org-cliplink][org-cliplink]] - Insert org-mode links from clipboard. 927 | - [[https://github.com/alphapapa/org-rifle][helm-org-rifle]] - Rifle through your Org buffers and acquire your target. 928 | - [[https://github.com/abo-abo/org-download][org-download]] - Drag and drop images to Emacs org-mode. 929 | - [[https://github.com/fniessen/org-html-themes][org-html-themes]] - Export Org mode files into awesome HTML in 2 minutes. 930 | - [[https://github.com/alphapapa/org-super-agenda][org-super-agenda]] - Help organize your agenda items into tidy groups. 931 | - [[https://github.com/weirdNox/org-noter][org-noter]] - Annotate documents with a synchronized org-mode buffer alongside them. 932 | - [[https://github.com/felipelalli/org-sort-tasks][org-sort-tasks]] - Functions to keep TODO tasks in orgmode sorted and organized. 933 | - [[https://github.com/DanielDe/org-web][org-web]] - Web app for viewing and editing org files online, optimized for mobile use. 934 | - [[https://github.com/org-roam/org-roam][org-roam]] - a [[https://roamresearch.com/][Roam]] replica built on top of the all-powerful Org-mode. 935 | - [[https://github.com/alphapapa/org-ql][org-ql]] - An Org-mode query language, including search commands and saved views. 936 | - [[https://github.com/nobiot/org-transclusion][org-transclusion]] - Link content between buffers to make multiple changes with one edit. 937 | - [[https://github.com/snosov1/toc-org][toc-org]] - Generate TOC for Org files. 938 | - [[https://github.com/ichernyshovvv/org-timeblock][org-timeblock]] — Interactive multiple-day timeblock view for orgmode tasks. 939 | - [[https://github.com/positron-solutions/dslide][dslide]] - Programmable presentation for org documents 940 | - [[https://github.com/kickingvegas/casual/blob/main/docs/agenda.org][Casual Agenda]] - a Transient user interface for Org Agenda. Included in [[https://github.com/kickingvegas/casual][Casual]]. 941 | - [[https://github.com/tbanel/orgaggregate][orgtbl-aggregate]] - Create aggregated table from source table 942 | - [[https://github.com/tbanel/orgtbljoin][orgtbl-join]] - Enrich a table with material from other tables 943 | - [[https://github.com/tbanel/orgtblfit][orgtbl-fit]] - Do regression fitting on Org Mode tables 944 | 945 | ** Version control 946 | 947 | - [[https://magit.vc/][Magit]] - Interacting with git. 948 | - [[https://github.com/magit/forge][forge]] - Work with Git forges, such as Github and Gitlab, from the comfort of Magit. 949 | - [[https://github.com/vermiculus/magithub][magithub]] - Magit interfaces for GitHub. [Deprecated. The project suggests using forge] 950 | - [[https://github.com/alphapapa/magit-todos][magit-todo]] - Show TODO's and FIXME's within a magit status buffer. 951 | - [[https://github.com/emacsorphanage/magit-svn][magit-svn]] - git svn integration for magit. 952 | - [[https://github.com/Ailrun/magit-lfs][magit-lfs]] - git lfs integration for magit. 953 | - [[https://github.com/douo/magit-gptcommit][magit-gptcommit]] - Magit commit with help of gpt. 954 | - [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Version-Control.html][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. 955 | - [[https://github.com/dgutov/diff-hl][diff-hl]] - Highlights uncommitted changes. Works with several different VC systems. An actively-maintained alternative to =git-gutter=. 956 | - [[https://github.com/dgtized/github-clone.el][github-clone.el]] - Fork and clone Github projects from Emacs. 957 | - [[https://github.com/magit/git-modes][git-rebase-mode]] - Major mode for editing git rebase files. 958 | - [[https://gitlab.com/pidu/git-timemachine][git-timemachine]] - Step through historic versions of git controlled files. 959 | - [[https://github.com/emacsorphanage/git-gutter][git-gutter]] - Indicates modified lines via git diff. [Unmaintained, consider using =diff-hl= instead.] 960 | - [[https://github.com/emacsorphanage/git-messenger][git-messenger]] - popup commit message at current line to know why this line was changed. 961 | - [[https://github.com/rmuslimov/browse-at-remote][browse-at-remote]] - Open page at github/bitbucket from emacs buffers. 962 | - [[https://github.com/sshaw/git-link][git-link]] - Get the GitHub/Bitbucket/GitLab etc... URL for a buffer location. 963 | - [[https://github.com/ananthakumaran/monky][monky]] - An interactive interface for mercurial. 964 | - [[https://bitbucket.org/agriggio/ahg/][aHg]] - An Emacs front-end for the Mercurial SCM. 965 | - [[https://github.com/jwiegley/git-undo-el][git-undo]] - A command for Emacs to regress or "undo" a region back through its Git history. 966 | 967 | #+BEGIN_QUOTE 968 | For additional git-related emacs packages to use or to get inspiration from, take a look at the following resource: [[https://github.com/tarsius-legacy/git-elisp-overview]]. 969 | #+END_QUOTE 970 | 971 | ** Integration 972 | 973 | *** Console 974 | 975 | - [[https://www.emacswiki.org/emacs/CategoryEshell][EShell]] - =[built-in]= A shell-like command interpreter implemented in Emacs Lisp. 976 | - [[https://www.emacswiki.org/emacs/AnsiTerm][Term]] - =[built-in]= A terminal emulator in Emacs. 977 | - [[https://www.emacswiki.org/emacs/MultiTerm][multi-term]] - Managing multiple terminal buffers in Emacs. 978 | - [[https://github.com/akermu/emacs-libvterm][vterm]] - A fully-fledged terminal emulator inside Emacs based on [[https://github.com/neovim/libvterm][libvterm]]. 979 | - [[https://codeberg.org/akib/emacs-eat][Eat]] - Emulate A Terminal, in a region, in a buffer and in Eshell. 980 | - [[https://github.com/purcell/exec-path-from-shell][exec-path-from-shell]] - Get environment variables such as $PATH from the shell for Mac user. 981 | - [[https://github.com/zwild/eshell-prompt-extras][eshell-prompt-extras]] - Display extra information and color for your eshell prompt. 982 | - [[https://github.com/kyagi/shell-pop-el][shell-pop]] - Quickly toggle a shell with one key action. 983 | - [[https://github.com/peterwvj/eshell-up][eshell-up]] - Quickly navigate to a specific parent directory in eshell without having to repeatedly typing ~cd ..~. 984 | - [[https://framagit.org/steckerhalter/emacs-fasd][fasd]] - Emacs integration for the command-line productivity booster fasd. 985 | - [[https://github.com/dieggsy/esh-autosuggest/][esh-autosuggest]] - Fish-like history autosuggestions in Eshell. 986 | - [[https://github.com/Ambrevar/emacs-fish-completion][fish-completion]] - Fallback on [[https://fishshell.com/][fish shell]] completion for ~M-x shell~ and Eshell. 987 | - [[https://github.com/manateelazycat/aweshell][aweshell]] - Awesome shell extension based on eshell with wonderful features! 988 | - [[https://github.com/bling/fzf.el][fzf.el]] - An extensible Emacs front-end for [[https://github.com/junegunn/fzf][fzf]]. 989 | 990 | *** Operating System 991 | - [[https://github.com/ch11ng/exwm][EXWM]] - EXWM turns Emacs into a full-featured tiling X window manager. 992 | - [[https://github.com/emacs-helm/helm-exwm][Helm-EXWM]] - EXWM-specific sources for Helm together with an application launchers and switches. 993 | - [[https://github.com/sinic/ednc/][EDNC]] - Manage all your desktop notifications without leaving Emacs. 994 | - [[https://depp.brause.cc/eyebrowse/][Eyebrowse]] - A simple-minded way of managing window configs in emacs. 995 | - [[https://github.com/emacs-eaf/emacs-application-framework][Emacs Application Framework]] - EAF's extensibility allows one to interact with [[https://riverbankcomputing.com/software/pyqt/intro][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). 996 | - [[https://github.com/zk-phi/symon/][Symon]] - Tiny graphical system monitor. 997 | - [[https://github.com/iqbalansari/restart-emacs][restart-emacs]] - A simple emacs package to restart emacs from within emacs. 998 | - [[https://github.com/emacs-helm/helm-system-packages][Helm System Packages]] - A Helm interface to the package manager of your operating system. 999 | - [[https://gitlab.com/jabranham/system-packages][system-packages]] - Manage your installed packages with emacs. 1000 | - [[https://github.com/jcaw/theme-magic][theme-magic]] - Apply your Emacs theme to the rest of Linux. 1001 | - [[https://github.com/benmaughan/spotlight.el][spotlight]] - Emacs package to query macOS Spotlight. 1002 | - [[https://github.com/raghavgautam/osx-lib][osx-lib]] - Emacs functions for macOS. 1003 | - [[https://github.com/emacsorphanage/osx-trash/][osx-trash]] - Make ~delete-by-moving-to-trash~ do what you expect it to do on macOS. 1004 | 1005 | *** Search 1006 | 1007 | - [[https://github.com/mhayashi1120/Emacs-wgrep][wgrep]] - Writable grep/ack/ag/pt buffer and apply the changes to files. 1008 | - [[https://github.com/kickingvegas/casual/blob/main/docs/isearch.org][Casual I-Search]] - a Transient menu for I-Search. Included in [[https://github.com/kickingvegas/casual][Casual]]. 1009 | 1010 | **** Ack 1011 | 1012 | - [[http://nschum.de/src/emacs/full-ack/][full-ack]] - An Emacs front-end for ack. 1013 | - [[https://github.com/leoliu/ack-el][ack-el]] - Emacs Interface to Ack-like Tools. 1014 | 1015 | **** Ag 1016 | 1017 | - [[https://github.com/Wilfred/ag.el][ag.el]] - An Emacs frontend to Ag ("the silver searcher" ack replacment). 1018 | - [[https://github.com/emacsorphanage/helm-ag][helm-ag]] - Ag with helm interface. 1019 | 1020 | **** Pt 1021 | 1022 | - [[https://github.com/bling/pt.el][pt.el]] - An emacs front-end for Pt, the [[https://github.com/monochromegane/the_platinum_searcher][Platinum Searcher]]. 1023 | 1024 | **** Sift 1025 | 1026 | - [[https://github.com/nlamirault/sift.el][sift.el]] - Front-end for [[https://github.com/svent/sift][sift]], a fast and powerful grep alternative. 1027 | 1028 | **** Ripgrep 1029 | 1030 | - [[https://github.com/Wilfred/deadgrep][deadgrep]] - Deadgrep is the fast, beautiful text search that your Emacs deserves. 1031 | - [[https://github.com/dajva/rg.el][rg.el]] - Emacs search tool based on ripgrep. 1032 | - [[https://github.com/nlamirault/ripgrep.el][ripgrep.el]] - Emacs front-end for [[https://github.com/BurntSushi/ripgrep][ripgrep]], a command line search tool. 1033 | - [[https://github.com/manateelazycat/color-rg][color-rg.el]] -- Search and refactoring tool base on ripgrep, integrate edit feature like wgrep, don't need install wgrep added. 1034 | 1035 | *** Pastebin 1036 | 1037 | - [[https://github.com/defunkt/gist.el][gist.el]] - Paste Gist in Emacs. 1038 | - [[https://github.com/mhayashi1120/yagist.el][yagist.el]] - Yet another Gist integration. 1039 | - [[https://github.com/gregnewman/dpaste.el][dpaste.el]] - Emacs mode to post to dpaste.com. 1040 | - [[https://github.com/emacs-pe/jist.el][jist.el]] - Yet another gist client for Emacs. 1041 | - [[https://github.com/etu/webpaste.el][webpaste.el]] - Paste to pastebin-like services. 1042 | 1043 | *** Google 1044 | 1045 | - [[https://github.com/Malabarba/emacs-google-this][google-this]] - A set of functions and bindings to google under point. 1046 | - [[https://github.com/atykhonov/google-translate][google-translate]] - Interface to Google Translate. 1047 | - [[https://github.com/jd/google-maps.el][google-maps]] - Google Maps support for Emacs. 1048 | 1049 | *** Blog System 1050 | 1051 | - [[https://github.com/nibrahim/Hyde][Hyde]] - An Emacs mode to manage [[https://jekyllrb.com/][Jekyll]] blogs. 1052 | - [[https://github.com/kuanyui/hexo.el][hexo.el]] - A frontend UI of [[https://hexo.io/][Hexo]] for Emacs. 1053 | - [[https://github.com/xcodebuild/blog-admin][blog-admin]] - Write blog in emacs with hexo/org-page/nikola. 1054 | - [[https://github.com/thiefuniverse/blog-minimal][blog-minimal]] - A simple static site generator based on org mode. 1055 | - [[https://ox-hugo.scripter.co][ox-hugo]] - Export Org subtrees/files to Markdown with front-matter for [[https://gohugo.io][Hugo]] static site generator. 1056 | 1057 | ** Markdown 1058 | 1059 | - [[https://jblevins.org/projects/markdown-mode/][Markdown-mode]] - markdown-mode is a major mode for editing Markdown-formatted text files in GNU Emacs. 1060 | - [[https://github.com/milkypostman/markdown-mode-plus][markdown-mode+]] - Additional functions for Emacs [markdown-mode]. 1061 | - [[https://github.com/ardumont/markdown-toc][markdown-toc]] - Generate TOC for markdown files. 1062 | - [[https://github.com/nlamirault/emacs-markdownfmt][markdownfmt]] - Format markdown using [[https://github.com/shurcooL/markdownfmt][markdownfmt]]. 1063 | - [[https://github.com/seagle0128/grip-mode][grip-mode]] - Instant Github-flavored Markdown/Org preview using [[https://github.com/joeyespo/grip][Grip]]. 1064 | 1065 | ** LaTeX 1066 | 1067 | - [[https://www.gnu.org/software/auctex/][AUCTeX]] - an extensible package for writing and formatting TeX files. 1068 | - [[https://www.emacswiki.org/emacs/LaTeXPreviewPane][latex-preview-pane]] is a minor mode for Emacs that enables you to preview your LaTeX files directly in Emacs. 1069 | - [[https://www.gnu.org/software/auctex/reftex.html][RefTeX]] - =[built-in]= Adds support for labels, references, citations, and index entries. 1070 | - [[https://gitlab.com/matsievskiysv/math-preview][math-preview]] - Preview TeX and MathML equations inline. 1071 | 1072 | ** PDF 1073 | 1074 | - [[https://github.com/vedang/pdf-tools][PDF Tools]] - major mode for rendering PDF files, much better than DocView, and has a much richer set of features. 1075 | - [[https://github.com/007kevin/pdf-view-restore][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. 1076 | 1077 | ** Internet 1078 | 1079 | *** Browser 1080 | 1081 | - [[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. 1082 | 1083 | *** Mail 1084 | 1085 | - [[https://www.emacswiki.org/emacs/CategoryGnus][Gnus]] - =[built-in]= Reading e-mail and Usenet news. 1086 | - [[https://www.emacswiki.org/emacs/MessageMode][Messages]] - =[built-in]= Composing and sending e-mail inside Emacs. 1087 | - [[https://www.djcbsoftware.nl/code/mu/mu4e.html][mu4e]] - An e-mail client for Emacs. 1088 | - [[https://github.com/iqbalansari/mu4e-alert/][mu4e-alert]] - Desktop notifications and modeline display for mu4e. 1089 | - [[https://gitlab.com/ambrevar/mu4e-conversation/][mu4e-conversation]] - Alternative view for displaying emails in mu4e. 1090 | - [[https://notmuchmail.org/][notmuch]] - A mail indexer which can serve as a complete client with its emacs integration. 1091 | - [[https://www.emacswiki.org/emacs/WanderLust][Wanderlust]] - A powerful email and Usenet client for Emacs (IMAP4rev1, NNTP, POP(POP3/APOP), MH/Maildir). 1092 | - [[http://www.mew.org/en/][mew]] - A very easy to use e-mail reader and client for Emacs. 1093 | 1094 | *** IRC 1095 | 1096 | - [[https://www.emacswiki.org/emacs/ERC][ERC]] - =[built-in]= A powerful, modular, and extensible IRC client. 1097 | - [[http://www.nongnu.org/riece/index.html.en][Riece]] - An IRC client for Emacs. 1098 | - [[https://www.emacswiki.org/emacs/rcirc][Rcirc]] - =[built-in]= Next generation IRC client. 1099 | - [[https://github.com/emacs-circe/circe][Circe]] - A Client for IRC in Emacs. 1100 | 1101 | *** Chat 1102 | 1103 | - [[https://github.com/the-kenny/weechat.el][Weechat.el]] - A Weechat-relay client for Emacs. 1104 | - [[https://github.com/emacs-slack/emacs-slack][slack]] - slack client for Emacs. 1105 | - [[https://github.com/legoscia/emacs-jabber][emacs-jabber]] - XMPP client. 1106 | - [[https://github.com/alphapapa/ement.el][ement]] - A Matrix client for Emacs. 1107 | 1108 | *** Social Network 1109 | 1110 | - [[https://twmode.sourceforge.net/][Twittering mode]] - Major mode for Twitter. 1111 | - [[https://github.com/vermiculus/sx.el/][SX]] - Stack Exchange for Emacs. 1112 | - [[https://github.com/atykhonov/emacs-howdoi][howdoi]] - Instant coding answers via Emacs, a way to query Stack Overflow directly from within Emacs. 1113 | - [[https://github.com/austin-----/weibo.emacs][weibo.emacs]] - Sina weibo client in Emacs. 1114 | - [[https://codeberg.org/martianh/mastodon.el][Mastodon.el]] - An Emacs client for Mastodon. 1115 | 1116 | *** Web Feed 1117 | 1118 | - [[https://github.com/skeeto/elfeed][Elfeed]] - RSS/Atom Reader for Emacs. 1119 | - [[https://github.com/remyhonig/elfeed-org][elfeed-org]] - An extension for Elfeed which lets you define all feeds in an Org file. 1120 | - [[https://www.gnu.org/software/emacs/manual/html_node/newsticker/index.html][Newsticker]] - =[built-in]= RSS/Atom Reader for Emacs. 1121 | *** FTP 1122 | - [[https://www.emacswiki.org/emacs/AngeFtp][AngeFTP]] - FTP client for Emacs. 1123 | *** Torrent 1124 | - [[https://github.com/skangas/mentor][mentor]] - GNU Emacs frontend for the rTorrent bittorrent client. 1125 | 1126 | ** DevOps 1127 | 1128 | - [[https://github.com/mpasternacki/chef-mode][chef-mode]] - Emacs mode to edit Chef repositories. 1129 | - [[https://github.com/k1LoW/emacs-ansible][emacs-ansible]] - Ansible minor mode. 1130 | - [[https://github.com/voxpupuli/puppet-mode][puppet-mode]] - Edit Puppet 3 manifests with GNU Emacs 24. 1131 | - [[https://github.com/emacsmirror/salt-mode][salt-mode]] - Edit Salt States with GNU Emacs 24. 1132 | - [[https://github.com/Silex/docker.el][docker]] - Emacs interface to Docker, manipulate docker images, containers & more from Emacs. 1133 | - [[https://github.com/hcl-emacs/terraform-mode][terraform-mode]] - Terraform mode to edit terraform files. 1134 | - [[https://github.com/kubernetes-el/kubernetes-el][kubernetes-el]] - A magit-style interface to the Kubernetes command-line client. 1135 | - [[https://github.com/abrochard/kubel][kubel]] - Emacs extension for controlling Kubernetes with limited permissions. 1136 | - [[https://github.com/jinnovation/kele.el][kele.el]] - Nimble, well-integrated Kubernetes cluster management package. 1137 | 1138 | ** Package Management 1139 | 1140 | *** Package Manager 1141 | 1142 | - [[https://www.emacswiki.org/emacs/ELPA][package.el]] - =[built-in]= Install and manage Emacs packages easily. 1143 | - [[https://github.com/Malabarba/paradox][paradox]] - Modernizing Emacs' Package Menu with package ratings, usage statistics, customizability & more. 1144 | - [[https://github.com/Silex/package-utils][package-utils]] - Interactive extensions for package.el . 1145 | - [[https://github.com/larstvei/Try][try]] - Try out Emacs packages. 1146 | - [[https://github.com/dimitri/el-get][el-get]] - apt-get style Emacs packages manager. 1147 | - [[https://github.com/cask/cask][cask]] - Manage dependencies for your local Emacs configuration and automate the package development cycle. 1148 | - [[https://github.com/rdallasgray/pallet][pallet]] - A package management tool for Emacs, built on Cask. 1149 | - [[https://github.com/emacs-eask/cli][Eask]] - CLI for building, running, testing, and managing your Emacs Lisp dependencies. 1150 | - [[https://github.com/quelpa/quelpa][quelpa]] - Build and install your Emacs Lisp packages on-the-fly directly from source. 1151 | - [[https://github.com/brew-stuff/homebrew-emacs][homebrew-emacs]] - Homebrew tap for installing Emacs packages. 1152 | - [[https://github.com/emacscollective/borg][borg]] - Assimilate Emacs packages as Git submodules. 1153 | - [[https://github.com/radian-software/straight.el][straight.el]] - Next-generation, purely functional package manager for the Emacs hacker. 1154 | - [[https://github.com/progfolio/elpaca][Elpaca]] - Elpaca is an elisp package manager. It allows users to find, install, update, and remove third-party packages for Emacs. 1155 | 1156 | *** Package Configuration 1157 | 1158 | - [[https://github.com/jwiegley/use-package][use-package]] - =[built-in]= A declaration macro to isolate package configuration in a way that is performance-oriented and tidy. 1159 | - [[https://github.com/emacsorphanage/req-package][req-package]] - A use-package wrapper for package runtime dependencies management. 1160 | - [[https://github.com/conao3/leaf.el][leaf]] - Flexible, declarative, and modern init.el package configuration. 1161 | - [[https://github.com/emacscollective/no-littering][no-littering]] - Help keeping ~/.emacs.d clean. 1162 | 1163 | *** Package Updates 1164 | 1165 | - [[https://github.com/rranelli/auto-package-update.el][auto-package-update.el]] - Automatically update Emacs packages. 1166 | - [[https://github.com/mola-T/SPU][SPU]] - Emacs Silent Package Upgrader. 1167 | 1168 | ** Config Management 1169 | 1170 | - [[https://github.com/jschaf/esup][ESUP]] - Emacs Start Up Profiler. Benchmark Emacs Startup time without ever leaving your Emacs. 1171 | - [[https://github.com/plexus/chemacs][Chemacs]], [[https://github.com/plexus/chemacs2][Chemacs2]] - Ease testing of different emacs setups, an Emacs profile switcher which assists running multiple Emacs configurations side by side. 1172 | - [[https://github.com/Malabarba/elisp-bug-hunter][elisp-bug-hunter]] - Debug and bisect your init file for errors or assertions. 1173 | - [[https://github.com/lastquestion/explain-pause-mode][explain-pause-mode]] - Monitor interactions to discover configurations or packages which slow down Emacs. 1174 | ** Library 1175 | 1176 | - [[https://github.com/magnars/dash.el][dash.el]] - A modern list library. 1177 | - [[https://elpa.gnu.org/packages/seq.html][seq.el]] - =[built-in]= Sequence manipulation functions. 1178 | - [[https://elpa.gnu.org/packages/cl-lib.html][cl-lib.el]] - =[built-in]= Common Lisp extensions for Emacs. 1179 | - [[https://github.com/magnars/s.el][s.el]] - String manipulation library. 1180 | - [[https://github.com/Wilfred/ht.el][ht.el]] - The missing hash table library for Emacs. 1181 | - [[https://github.com/rejeep/f.el][f.el]] - Modern API for working with files and directories in Emacs. 1182 | - [[https://github.com/jwiegley/emacs-async][emacs-async]] - Simple library for asynchronous processing in Emacs. 1183 | - [[https://github.com/emacsorphanage/ov][ov.el]] - Overlay library for Emacs Lisp. 1184 | - [[https://github.com/Malabarba/names][Names]] - A Namespace implementation for Emacs Lisp. 1185 | - [[https://github.com/kiwanami/emacs-deferred][emacs-deferred]] - Simple asynchronous functions for Emacs Lisp. 1186 | - [[https://www.gnu.org/software/emacs/manual/html_node/eieio/][EIEIO]] - =[built-in]= EIEIO (“Enhanced Implementation of Emacs Interpreted Objects”) provides an Object Oriented layer for Emacs Lisp. 1187 | - [[https://github.com/auto-complete/popup-el][popup.el]] - Visual Popup Interface Library for Emacs. 1188 | - [[https://github.com/jwiegley/alert][alert]] - A Growl-like alerts notifier for Emacs. 1189 | - [[https://github.com/sigma/gh.el][gh.el]] - GitHub API library for Emacs. 1190 | - [[https://github.com/tkf/emacs-request][request]] - A HTTP request library with multiple backends. 1191 | - [[https://github.com/ahyatt/emacs-websocket][websocket]] - A websocket implementation in elisp, for emacs. 1192 | - [[https://github.com/Fuco1/indicators.el][indicators.el]] - Display the buffer relative location of line in the fringe. 1193 | - [[https://github.com/tjarvstrand/pos-tip][pos-tip]] - Show tooltip at point. 1194 | - [[https://github.com/SavchenkoValeriy/jeison][jeison]] - A library for declarative JSON parsing. 1195 | - [[https://github.com/alphapapa/ts.el][ts.el]] - A timestamp and date-time library for Emacs. 1196 | - [[https://github.com/radian-software/el-patch][el-patch]] - Future-proof your Emacs Lisp customizations and automatically notify you about upstream changes that might break your hacks. 1197 | - [[https://github.com/rougier/svg-lib][SVG Library]] - A small Emacs library to create and display various SVG objects, namely tags, progress bars, progress pies, and icons. Each object is guaranteed to fit nicely in a text buffer ensuring width is an integer multiple of character width. 1198 | 1199 | ** Theme 1200 | 1201 | - [[https://github.com/bbatsov/zenburn-emacs][Zenburn]] - /(dark)/ Vim's "Zenburn theme" ported to Emacs. 1202 | - [[https://github.com/bbatsov/solarized-emacs][Solarized]] - /(light/dark)/ Solarized color theme. 1203 | - [[https://github.com/doomemacs/themes][Doom-themes]] - /(theme pack)/ UI plugin and pack of themes extracted from Doom Emacs. 1204 | - [[https://github.com/purcell/color-theme-sanityinc-tomorrow][Sanityinc-tomorrow]] - /(light/dark)/ An Emacs version of "Tomorrow-themes". 1205 | - [[https://github.com/oneKelvinSmith/monokai-emacs][Monokai]] - /(dark)/ A port of the popular TextMate theme Monokai. 1206 | - [[https://github.com/n3mo/cyberpunk-theme.el][Cyberpunk-theme]] - /(dark)/ *[256color]* Mostly a direct port of the "Cyberpunk Overtone theme". 1207 | - [[https://github.com/jordonbiondo/ample-theme][Ample-theme]] - /(light/dark)/ *[256color]* A low-contrast theme for Emacs. 1208 | - [[https://github.com/kuanyui/moe-theme.el][Moe-theme]]- /(light/dark)/ *[256color]* A customizable colorful eye-candy theme. Moe, moe, kyun! 1209 | - [[https://github.com/fniessen/emacs-leuven-theme][Leuven-theme]] - =[built-in]= /(light)/ Awesome Emacs color theme for white backgrounds. 1210 | - [[https://framagit.org/steckerhalter/grandshell-theme][Grandshell-theme]] - /(dark)/ *[256color]* Theme with intensive colors. 1211 | - [[https://github.com/kunalb/poet][Poet]] - /(light/dark)/ A lightweight theme that plays well with prose and org-mode. 1212 | - [[https://github.com/ogdenwebb/emacs-kaolin-themes][Kaolin-themes]] - (theme package) Set of eye-pleasing themes for GNU Emacs. Supports both GUI and terminal. 1213 | - [[https://github.com/ianyepan/wilmersdorf-emacs-theme][Wilmersdorf-theme]] - /(dark)/ Emacs theme with dark subtle syntax highlighting. 1214 | - [[https://github.com/ianyepan/tron-legacy-emacs-theme][Tron-Legacy-Theme]] - /(dark)/ Custom theme inspired by Tron: Legacy. 1215 | - [[https://gitlab.com/protesilaos/modus-themes][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). 1216 | - [[https://github.com/rougier/nano-theme][N Λ N O (Nano) Themes]] - /(light/dark)/ A light theme based on Material colors and a dark theme based on Nord colors. 1217 | - [[https://github.com/protesilaos/ef-themes][Ef themes]] - /(light/dark)/ - Colourful and legible themes for GNU Emacs. 1218 | - [[https://github.com/LionyxML/auto-dark-emacs][auto-dark]] - /(automatic theme changer)/ - Not a theme, but an automatic changer tool between any 2 themes, dark/light, following MacOS, Linux or Windows Dark Mode settings. 1219 | 1220 | #+BEGIN_QUOTE 1221 | The above list contains some of the most popular/installed themes. 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. 1222 | #+END_QUOTE 1223 | 1224 | ** Multimedia 1225 | 1226 | - [[https://www.emacswiki.org/emacs/Mpc][mpc]] - =[built-in]= An Emacs front end to the Music Player Daemon. 1227 | - [[https://www.gnu.org/software/emms/][EMMS]] - The Emacs Multimedia System. 1228 | - [[https://github.com/dbrock/bongo/][Bongo]] - A flexible and usable media player for GNU Emacs. 1229 | - [[https://github.com/nlamirault/dionysos][Dionysos]] - A simple music player for Emacs. 1230 | - [[https://github.com/pft/mingus][Mingus]] - An Emacs front end to the Music Player Daemon with an interface that resembles ncmpc. 1231 | - [[https://github.com/hlolli/csound-mode][csound-mode]] - Emacs major mode for coding in Csound. 1232 | - [[https://github.com/olavfosse/eradio][eradio]] - An Internet radio player. 1233 | - [[https://github.com/ravicious/taggie][taggie]] - Audio tag editor. 1234 | - [[https://github.com/mihaiolteanu/versuri][versuri]] - Lyrics. 1235 | - [[https://github.com/lujun9972/podcaster][podcaster]] - Podcast client. 1236 | 1237 | ** Finance 1238 | 1239 | - [[https://github.com/ledger/ledger-mode][ledger-mode]] - Plain text double-entry accounting in Emacs with [[https://ledger-cli.org/][ledger]]. 1240 | - [[https://github.com/narendraj9/hledger-mode][hledger-mode]] - A mode for writing [[https://hledger.org/][hledger]] journals with a set of useful reports. 1241 | - [[https://github.com/kickingvegas/casual/blob/main/docs/calc.org][Casual Calc]] - a Transient user interface for Calc. Included in [[https://github.com/kickingvegas/casual][Casual]]. 1242 | 1243 | ** Fun 1244 | 1245 | - [[https://github.com/TeMPOraL/nyan-mode][Nyan-mode]] - Let Nyan Cat show you your buffer position in mode line. 1246 | - [[https://www.emacswiki.org/emacs/ZoneMode][Zone Mode]] - =[built-in]= A buffer obfuscator, or a screensaver. 1247 | - [[https://hg.sr.ht/~zck/minesweeper][minesweeper.el]] - An implementation of minesweeper in emacs. 1248 | - [[https://hg.sr.ht/~zck/game-2048][2048-game.el]] - An implementation of 2048 in emacs. 1249 | - [[https://github.com/vibhavp/emacs-xkcd][emacs-xkcd]] - Read xkcd from emacs. 1250 | - [[https://github.com/emacsmirror/gnugo][gnugo]] - Play GNU Go in a buffer. 1251 | - [[https://github.com/codingteam/pacmacs.el][Pacmacs]] - Pacman-like game for Emacs. 1252 | - [[https://github.com/dp12/parrot][parrot]] - Rotate text and Party Parrot at the same time. 1253 | - [[https://github.com/dakra/speed-type][speed-type]] - Practice speed/touch typing in Emacs. 1254 | - [[https://gitlab.com/iankelling/spray][spray]] - A speed reading mode for Emacs. 1255 | - [[https://github.com/kuanyui/fsc.el][fsc.el]] - Fuck the Speeching Censorship! 1256 | - [[https://github.com/bcbcarl/emacs-wttrin][wttrin]] - Emacs frontend for weather web service wttr.in. 1257 | - [[https://github.com/johanvts/emacs-fireplace][fireplace]] - A cozy fireplace for emacs. 1258 | - [[https://github.com/Fuco1/clippy.el][clippy]] - Show tooltip with function documentation at point. 1259 | - [[http://elpa.gnu.org/packages/landmark.html][Landmark]] - a neural network that trains a robot to find a tree. 1260 | - [[https://github.com/rbanffy/selectric-mode][Selectric Mode]] - Make your Emacs sound like a proper typewriter. 1261 | - [[https://github.com/federicotdn/key-quiz][key-quiz]] - Key Quiz game for Emacs. 1262 | 1263 | ** Music 1264 | 1265 | - [[https://github.com/mjago/Emacs/tree/master/lilypond][lilypond-mode]] - default emacs mode for [[http://lilypond.org/][lilypond]] editing. 1266 | - [[https://github.com/nsceaux/lyqi][lyqi]] - 3rd party emacs mode for LilyPond editing. 1267 | - [[https://github.com/jgkamat/alda-mode][alda-mode]] - emacs mode for [[https://github.com/alda-lang/alda][alda]], a music programming language for musicians written in java and clojure. 1268 | - [[https://github.com/supercollider/scel][Scel]] - SuperCollider/Emacs interface. 1269 | - [[https://github.com/mihaiolteanu/vuiet][Vuiet]] - The music player and explorer for Emacs. 1270 | 1271 | ** Screencasting 1272 | 1273 | - [[https://github.com/tarsius/keycast][keycast]] - Show current commands and its key in the mode line. 1274 | - [[https://gitlab.com/ambrevar/emacs-gif-screencast][emacs-gif-screencast]] - Record Emacs frames to gifs. 1275 | - [[https://github.com/tarsius/frameshot][frameshot]] - Take screenshots of Emacs frames. 1276 | - [[https://github.com/ffevotte/script2svg][script2svg]] - Record terminal sessions as svg. 1277 | 1278 | ** Starter Kit 1279 | 1280 | - [[https://github.com/syl20bnr/spacemacs][Spacemacs]] - A slick Evil focused starter kit: do not fear RSI anymore. 1281 | - [[https://github.com/purcell/emacs.d][Purcell's .emacs.d]] - An Emacs configuration bundle with batteries included. 1282 | - [[https://github.com/bbatsov/prelude][Prelude]] - An enhanced default Emacs experience with friendlier defaults and minimal additions. 1283 | - [[https://github.com/doomemacs/doomemacs][Doom]] - Henrik Lissner's (@hlissner) Emacs configuration for the stubborn martian vimmer. 1284 | - [[https://github.com/seagle0128/.emacs.d][Centaur Emacs]] - A Fancy and Fast Emacs Configuration. 1285 | - [[https://github.com/thefrontside/frontmacs][Frontmacs]] - A package-based, web-centric, customizable, awesome-by-default, acceptance-tested Emacs distribution. 1286 | - [[https://github.com/jkitchin/scimax][Scimax]] - An Emacs starter kit for scientists and engineers with a focus on Org-Mode. 1287 | - [[https://github.com/overtone/emacs-live][Emacs-Live]] - M-x start-hacking http://overtone.github.io/emacs-live/. 1288 | - [[https://github.com/bodil/ohai-emacs][Ohai Emacs]] - The finest hand-crafted artisanal emacs.d for your editing pleasure. 1289 | - [[https://github.com/rdallasgray/graphene][Graphene]] - A set of defaults for Emacs, for refugees from GUI text editors. 1290 | - [[https://github.com/editor-bootstrap/emacs-bootstrap][Emacs Bootstrap]] - Your on-the-fly Emacs development environment! 1291 | - [[https://github.com/ianyepan/yay-evil-emacs][Ian's Yay-Evil Distro]] - A lightweight literate Emacs config with even better "better defaults": shipped with a custom theme! 1292 | - [[https://github.com/eschulte/emacs24-starter-kit][Emacs24 Starter Kit]] - A cleaner version of the literate starter kit based on Emacs24 http://eschulte.github.io/emacs24-starter-kit/. 1293 | - [[https://git.sr.ht/~technomancy/better-defaults][better-defaults]] - A small number of better defaults for Emacs. 1294 | - [[https://github.com/xiaohanyu/oh-my-emacs][Oh-My-Emacs]] - Provide an awesome, out-of-box, literate dotemacs for both newbies and nerds. 1295 | - [[https://github.com/senny/cabbage][Cabbage]] - Get the maximum out of emacs http://senny.github.io/cabbage/. 1296 | - [[https://github.com/daviwil/emacs-from-scratch][Emacs From Scratch]] - Custom Emacs configuration that you can use as inspiration when building your own. 1297 | - [[https://github.com/technomancy/emacs-starter-kit][Emacs Starter Kit]] - A prose guide to various packages and settings which can greatly improve the Emacs experience. 1298 | - [[https://github.com/jamescherti/minimal-emacs.d][minimal-emacs.d]] - A customizable Emacs base that offers improved default settings and optimized startup, intended to serve as a solid foundation for a vanilla Emacs configuration. 1299 | - [[https://codeberg.org/ashton314/emacs-bedrock][Emacs Bedrock]] - A minimal, no-magic, bare-bones starter kit focusing on tweaking stock Emacs 29. Minimal 3rd-party dependencies. 1300 | 1301 | #+BEGIN_QUOTE 1302 | - In addition, for an excellent selection of personal .emacs.d configurations, take a look at [[https://github.com/caisah/emacs.dz]]. 1303 | #+END_QUOTE 1304 | 1305 | ** Tutorials 1306 | 1307 | - [[https://www.gnu.org/software/emacs/tour/][A Guided Tour of Emacs]] - An official guided tour of Emacs. 1308 | - [[https://github.com/pierre-lecocq/emacs4developers][Emacs for developers]] - A document to help developers to use Emacs as a developer. 1309 | - [[https://cestlaz.zamansky.net/cestlaz-old-hugo.github.io/stories/emacs/][C'est la Z - Using Emacs Series]] - A series of beginner-friendly Emacs tutorials by Mike Zamansky (@zamansky). 1310 | - [[https://caiorss.github.io/Emacs-Elisp-Programming/][Emacs In a Box]] - A tutorial for emacs lisp and emacs customization. 1311 | - [[https://www.youtube.com/watch?v=rCMh7srOqvw&list=PLhXZp00uXBk4np17N39WvB80zgxlZfVwj][Emacs Doom Screencast]] - A video tutorial for emacs doom made by @zaiste. 1312 | - [[https://github.com/jtmoulia/elisp-koans][elisp-koans]] - A tour of emacs lisp via test-driven development. 1313 | - [[https://www.youtube.com/playlist?list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ ][Emacs From Scratch]] - A series of videos showing how to build an advanced Emacs configuration from scratch by David Wilson ([[https://github.com/daviwil][@daviwil]]). 1314 | 1315 | 1316 | ** Links and resources 1317 | 1318 | - [[https://www.emacswiki.org/][EmacsWiki]] - The EmacsWiki is dedicated to documenting and discussing Emacs and EmacsLisp. 1319 | - [[https://www.reddit.com/r/emacs/][Emacs subreddit]] - The reddit Emacs channel. 1320 | - [[https://planet.emacslife.com/][Planet Emacsen]] - A community driven mashup of Emacs articles. 1321 | - [[https://sachachua.com/blog/category/emacs/][Living an Awesome Life - Emacs]] - Sacha Chua's (@sachac) extensive blog posts featuring Emacs. 1322 | - [[http://oremacs.com/][(or emacs]] - An (ir)relevant blog about Emacs. 1323 | - [[https://emacsredux.com/][Emacs Redux]] - Return to the Essence of Text Editing. 1324 | - [[https://emacsrocks.com/][Emacs Rocks]] - Some episodes to prove that Emacs rocks. 1325 | - [[https://www.masteringemacs.org/][Mastering Emacs]] - Mastering the world’s best text editor. 1326 | - [[http://endlessparentheses.com/][Endless Parentheses]] - Concise ramblings on Emacs productivity. 1327 | - [[http://whattheemacsd.com/][What the .emacs.d!?]] - Sharing Emacs snippets and pastes with others. 1328 | - [[https://hackr.io/tutorials/learn-emacs][Community Curated Emacs Resources]] - Top Recommended Resources. 1329 | - [[https://github.com/emacs-tw/awesome-elisp][awesome-elisp]] - An awesome list for Elisp development. 1330 | - [[https://github.com/alphapapa/emacs-package-dev-handbook][emacs-package-dev-handbook]] - A handbook for package developers. 1331 | - [[http://ergoemacs.org/index.html][ErgoEmacs]] - Emacs/Emacs Lisp tutorials. 1332 | - [[https://emacsdocs.org/][Emacs Docs]] - The modern documentation website Emacs deserves. 1333 | 1334 | * Contributing 1335 | 1336 | *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. 1337 | 1338 | Before contributing, please read this tiny guideline: 1339 | 1340 | ** The Order of Items 1341 | 1342 | *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. 1343 | 1344 | For example, =Evil= is obviously not a package that every Emacser needs. So please don't move it to the top of its category. 1345 | 1346 | 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. 1347 | 1348 | ** Emacs Built-In Packages 1349 | 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. 1350 | 1351 | ** Generate "Table of Contents" 1352 | 1353 | It is recommended to install [[https://melpa.org/#/toc-org][toc-org]] which will update the Table Of Contents for 1354 | you automatically on each save. It will also give you convenient navigation - 1355 | if you press =C-c C-o= (=org-open-at-point=) when the point is on the entry in 1356 | the Table Of Contents, you will jump to the respective section. 1357 | 1358 | If for some reason, you don't want to install it, you can download a single 1359 | file [[https://github.com/snosov1/toc-org/blob/master/toc-org.el][toc-org.el]] manually, open it, and call =M-x eval-buffer=. 1360 | 1361 | Then change buffers to =README.org=. Subsequently, issue =M-x 1362 | toc-org-insert-toc= within the =README.org= buffer. If a new category of packages 1363 | has been added in your commit, the Table of Contents section will be revised and 1364 | updated. 1365 | 1366 | * Other Awesome Lists 1367 | 1368 | A curated list of awesome lists can be found at [[https://awesome.re][awesome.re]]. 1369 | 1370 | * License 1371 | 1372 | [[https://creativecommons.org/publicdomain/zero/1.0/][https://licensebuttons.net/p/zero/1.0/88x31.png]] 1373 | 1374 | 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. 1375 | --------------------------------------------------------------------------------