Someone noticed in my recent
init.el
that
I had
removed
Evil from my config. Here I want to explain why I grew frustrated with it.
To give you some context, I am an ex-vimmer that switched to Emacs initially out of curiosity for the Evil project. I tried to build my config using Evil before knowing any basic elisp, then learned about Spacemacs.
It was version 0.101 at that time if I remember correctly, so it was pretty mature already. I ended up using Spacemacs for quite a long time, but grew frustrated with it, for reasons I have exposed here.
So I went down the process of building my own Emacs, like thousands before me. I documented the process here and here. I used Evil and General.el a lot. But I started to notice that more and more of my keybindings where plain old “pure” Emacs keybindings, à la Shift-Meta-Ctrl.
Using a new Git-Flow
“feature” branch — a habit I would recommend to anybody tweeking its init.el
,
I tested if I could handle editing without any reference to Evil-based modal
editing.
It just worked. So I merged the feature/eviless
branch.
But why did it worked ? After three years of vim, Spacemacs and pure Evil, I was getting used to the habit of modal editing. Basic movement were “deeply ingrained in muscle memory” as they say. I was just at the stage where I was progressively grokking the power of modal editing, I started to use complex operations more and more intuitively. So why in hell would I switch ?
Among other things :
- kbd were more and more emacs based.
- I got Ctrl Meta Super Hyper Shift and Alt.
- Hyper and Super are almost never exploited in pure Emacs.
- Hyper, Hyper-Shift, Hyper-Meta, Hyper-Meta-Shift, Super, Super-Shift, Super-Meta-Shift … You name it. Almost unlimited combination.
- I got Hydra to create microstate.
- I miss text objects
- I don’t miss modal editing, kept going in my way.
- Direct Keybindings suits my mind better.
- Chords are cool.
Retrospectively, I would say that the main reasons for my switch were social ones. There is social pressure — in the sense of conforming to the cool kids you tend to frequent — in the emacsverse, for keeping things close to a bare emacs experience. Plus at the time I was a lot on emacs reddit, and many people there were just using a minimalist emacs with a lot of custom functions — I know, it’s paradoxical — and the smallest list of external packages possible.
When I “quit” Evil, I realized that it was getting in my way a lot. I mean, I would still say vim/Evil is better than bare emacs at text editing, but emacs is a lot more than text editing.