Minimal list of essential Emacs packages
The default Emacs config nowadays is pretty good. You can navigate using the arrow keys and Home & End and such. There's even support for standard C-c
copy, C-v
paste and C-x
cut with CUA mode. But often there are some packages that are so damn good that they should get added to the default config, which isn't really that rare, i.e Eglot, the LSP client got added to the latest versions of Emacs. Here are some packages that you (probably) will want to install, and probably would be all you need if you want to keep things minimal (given you are using the latest Emacs with all the bells and whistles).
[ ]
TODO Complementary gifs
Completion with Vertico & Corfu
Ok, those are two packages, but they are very neat and are basically made to complement each other, at the same time they leverage default Emacs mechanisms. Vertico improves completion for commands that use the minibuffer, while Corfu enables that some completions that would take place in the minibuffer can be done "floating" in front of the text you are typing, like the completion on modern IDEs. As an addition, there's also vertico-posframe, which puts the minibuffer right in the middle of the screen, where your eyes are!
Blazingly fast movement with Avy
This package is simply INCREDIBLE. If I could choose just a single package for my configuration, that would be it. When it comes to text editors, if you are looking for a specific word or character that isn't close to any type of "block", like right in the middle of a line, the fastest way to get to it was just searching for it and doing some navigation to get in the middle of a word if that was what you looking for. Well, no more of that! You can just hit a chord (I got it mapped to C-; "letter"
), hit the letter you are looking for, or the initial of the word you are looking for, hit 1-3 keys and boom! You are there. It sounds complicated in text, but maybe looking at a gif, screencast or just trying it yourself would enlighten you.
Normally, you can navigate by word, but you will also have commands to navigate to specific characters, specific lines (between buffers!) or to limit the scope of the search to only the cursor line.
Also, just as a side note, this is faster then Vim's relative movements, and don't take that compliment lightly, I was pretty good at moving around in Vim, basically no HJKL (because I don't use a standard layout).
Side notes & Off-topic
Emacs and Vim have basically the same set of text editing commands. The difference is chords vs modality, but in the end, you can do the same things almost in the same way. But there's one thing that I feel where Emacs lacks behind: selection of blocks. Vi has Viw
(read, "visual mode" inside word), Emacs has some commands for moving around lists and blank-line-separated blocks (or paragraphs), but there's nothing as granulated as this. I know that expand region exists, but it isn't really that great. You have to keep hitting the key until the selection stumbles it's way to the thing you wanted. VI you just think "select this" and it's done… Until now I didn't find anything equivalent outside of Evil-mode, which is kinda cheating lol. I guess I need to make some custom functions, or just look harder for packages to cover this. Just use easy-kill, it's basically analogous to VI's movement. I map it to M-o
.