write.as

Emacs tips for Vim users

Introduction

As a fellow Vim user, I can safely say that Emacs is awesome. Org Mode was the main reason for me to switch and I don't regret it at all.

BUT if you do make the switch, only do so when you're able to set aside some time to learn. And keep Vim handy (after 6 months, I still frequently use Neovim in the command line). Any non-trivial configuration will require at least a rudimentary understanding of Elisp. I'm not saying you have to learn the language (even though, with time, of course you will), but you'll have at least to get used with some common patterns (like how a function look like), and living with a lot of parentheses overall.

In the configuration side, use-package and general.el are absolutely required in order to keep your sanity. Without those, things that take a single line in our .vimrc can easily be a 5 lines affair. On the other hand, Emacs configurations feel a lot less hacky, since things are more local and explicit.

If you are like me and need to customize your environment a lot, than stay away from Doom or Spacemacs (but maybe try them for a few hours, just to get some ideas of what you can do and maybe copy some stuff to your own configuration). If you like things plug-n-play without making a lot of changes, then they are both great Evil focused options.

Configurations

Ivy: completion mode that includes

NOTE: Ivy can be replaced with Helm, which is generally considered to have more features, but heavier for regular usage (not all Helm commands are heavier than Ivy counterparts, though). Unless you need some specific feature from any of those packages, this is mostly a personal choice.

Which-key: dynamically displays possible key combinations (useful when you're starting out).

Vim-Like Stuff

Suggested Modes

Window Management

Miscellaneous

Usage Recommendations

Do not, I repeat, do not waste your time trying to get some “pure” Emacs experience. Richard Stallman is probably the only person using pure Emacs. Emacs keybindings are shit. Some people like them, but they are objectively inferior to Evil. Don't worry too much about it. BUT Evil-Collection doesn't work with every mode, so it's probably a good idea to have a passing familiarity with them, so keep the refcard handy for you to use until you memorize them or have time to manually configure these modes to something more Evil friendly.

If you don't know the key for somecommand, just hit M-x somecommand (this means Alt+x in Emacsian) that Counsel will tell you the associated key (and if it doesn't, describe-function or helpful-command will). With the helpful package, the previous commands will show all keybindings for the command in every single mode! To do the opposite (find the command from the key), just run M-x describe-key or M-x helpful-key and hit the key combination you wanna check. I don't know many Emacs keybindings (cause I have my own. Also: it doesn't matter because Emacs is self-documenting), and I have been using it with Evil for the last six months. Emacs is a huge fucking beast, and no one knows it all. You just have to know enough. Good luck!