- The top 11 Emacs tutorials - learn Emacs for free. Courses are submitted and voted on by developers, enabling you to find the best Emacs courses and resources. Discover Emacs videos, interactive coding, articles, blogs, screencasts, and more.
- Emacs changes the indentation to appropriate locations when you hit Tab on an indented line. Emacs highlights the opening bracket or parenthesis whenever you type a closing bracket or parenthesis. Emacs responds as expected to the arrow keys, as well as the Enter, Backspace, Del, Home, End, and Tab keys.
People often ask me which are my favorite Emacs packages, so I’ve decidedto write a short article on the subject. I’ll limit my myself to only 5 packagesand I’ll exclude:
Other implementations still alive: µEmacs (aka. MicroEmacs) — a small, light-weight console Emacs. Memacs — a Japanese variant of µemacs. Jasspa MicroEmacs — a semi-commercial development of MicroEmacs. GNU Zile – a tiny Emacs clone. EdWin – based on Scheme, included in GNU/MIT Scheme.
- built-in packages (e.g.
dired
,erc
) - color themes
- everything that’s specific to a particular programming language (e.g. SLIME, CIDER)
In other words, I’ll focus on (more or less) “universal” packages.
Projectile
Projectile is a project interaction library, written by your truly.I’m obviously biased here, but that’s also the package I use the most in my day to day interactions with Emacs.
Projectile is a massive package with numerous commands, but I mostly limit myself to the ones outlinedhere.
Funny enough, I think I never wrote any articles on Projectile here. I guess I should change this.
Magit
Magit is the best way to interact with Git from Emacs. Period.It has probably converted more people to Emacs than any other Emacs package.
I’ll have to admit that at this point I’m not sure whether I can still use Git from the command-line.
Selectrum/Ivy
Selectrum and Ivy are minibuffer completion/filtering/sorting frameworks.I’m cheating a bit here by listing both of them, but they are pretty similar andequally awesome.
Ivy
has more bells and whistles (more features and a fancier UI) andselectrum
has a simpler design. I used to use ivy
for quite a while,but recently I’ve switched to selectrum
, as I realized I rarely usedivy
’s famous add-ons swiper
and counsel
.
Anyways, both packages are great and you can’t go wrong choosing any them.
Note: Regardless of which one of them you’re using, you definitelywant to combine them with the awesomeprescient package thatsupercharges the sorting and filtering algorithm.
crux
crux is a collection of ridiculously useful Emacs commands. Like the Matrix it cannot be explained, you have to experience it for yourselves.
Note: The package started life as an Emacs Prelude module, but was eventually extracted, so those commands could be used by anyone.A lot of the articles I wrote early on at Emacs Redux were dedicated to commands that are part of crux
.
avy
avy allows you to quickly (with onlya couple of keystrokes) jump to a specific place in your visible Emacswindows. I can’t imagine going back to Emacs’s standard commands forthose tasks, after spending so much time with avy
.
Honorary Mentions
I promised I’ll limit myself to only 5 packages, but I cannot omit the following awesome packages as well:
- company-mode (a great completion framework)
- diff-hl (shows you VC diffs in the gutter)
- which-key (helps you navigate the numerous Emacs keybindings with helpful hints in the minibuffer)
- smartparens (smart handling of paired delimiters; its
smartparens-strict-mode
is a decent paredit alternative) - paredit (like smartparens, but geared towards Lisp programming)
- easy-kill (saving/killing made easy and fast; I wrote about it in the past)
- expand-region (expand the selected region incrementally by semantic units)
- undo-tree (my favourite way to deal with undo in Emacs;
undo-tree-visualize
is pure gold) - flycheck (lint tool integration)
- lsp-mode (trying to give VS Code a run for its money)
I’ll stop here, as I realized I use quite a few packages all the time.
Best Emacs For Windows 10
Closing Words
In my book, my favorite packages are ones that I’m using themost. They keep changing with time, but I doubt I’ll stop using any ofthe packages that I mentioned in this article any time soon.
That being said, I’ve been using Emacs for over 15 years and lookingback at my list it seems to me that the only packages that I used backthen (circa 2005) where probably paredit
and undo-tree
. The Emacslandscape has been very dynamic in recent years and everything haschanged (for the better). I can only imagine what amazing packageswill get created and become prominent in the next 15 years.
Best Emacs Themes
I didn’t really cover any niche/obscure packages today, but I hope that some of you will learn about a new packagethat they can experiment with. Playing with different packages and approaches to solving the same problem has alwaysbeen a defining trait of the Emacs experience for me.
That’s all I have for you today. Down the road I plan to expand on some the packages I’ve mentioned in passing today.So, what are your favorite Emacs packages?
This top is created based on numbers extracted from MELPA. These are the most downloaded themes since MELPA started recording stats. The list is updated daily.
Best Emacs Distro
Best Osx Operating System
- 540084downloads
- 410817downloads
- 342558downloads
- 329959downloads
- 295494downloads
- 277256downloads
- 259604downloads
- 214576downloads
- 179647downloads
- 177179downloads
- 162283downloads
- 156701downloads
- 147051downloads
- 132403downloads
- 126603downloads
- 125579downloads
- 122571downloads
- 122383downloads
- 120108downloads
- 119837downloads
- 118817downloads
- 117025downloads
- 111883downloads
- 109032downloads
- 107469downloads
- 107049downloads
- 106479downloads
- 105473downloads
- 104019downloads
- 103557downloads
- 103084downloads
- 101970downloads
- 101337downloads
- 100927downloads
- 100223downloads
- 99863downloads
- 99644downloads
- 99201downloads
- 99148downloads
- 99132downloads
- 98855downloads
- 97229downloads
- 97001downloads
- 96968downloads
- 96481downloads
- 96379downloads
- 96358downloads
- 96080downloads
- 95796downloads
- 95692downloads