<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Evil-Mode on Linux Maxxing dot com</title>
    <link>https://linuxmaxxing.com/tags/evil-mode/</link>
    <description>Recent content in Evil-Mode on Linux Maxxing dot com</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>No Copyright</copyright>
    <lastBuildDate>Mon, 09 Mar 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://linuxmaxxing.com/tags/evil-mode/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Ditching Evil Mode in Emacs</title>
      <link>https://linuxmaxxing.com/posts/06_emacs_bindings/</link>
      <pubDate>Mon, 09 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://linuxmaxxing.com/posts/06_emacs_bindings/</guid>
      <description>&lt;p&gt;Several weeks ago after a bit of unnecessary tinkering (as we are wont to do) I realized that my emacs config, whilst fine and functional, only worked with evil-mode, evil-collection, and general.el.&#xA;If any one of those packages didn&amp;rsquo;t load, or if I wanted to move away from them for whatever reason, I would be looking at a substantial rewrite.&#xA;So I decided I would embrace a bit of conventional wisdom and go down the path of using default navigation keybindings to the greatest extent possible, and create new custom keybindings for features I frequently use without default bindings.&#xA;Here I&amp;rsquo;m talking about just navigation things - moving between buffers, windows, tabs, etc.&#xA;(At the time) I was not talking about editing modes - I was still 100% committed to vim/evil.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Several weeks ago after a bit of unnecessary tinkering (as we are wont to do) I realized that my emacs config, whilst fine and functional, only worked with evil-mode, evil-collection, and general.el.
If any one of those packages didn&rsquo;t load, or if I wanted to move away from them for whatever reason, I would be looking at a substantial rewrite.
So I decided I would embrace a bit of conventional wisdom and go down the path of using default navigation keybindings to the greatest extent possible, and create new custom keybindings for features I frequently use without default bindings.
Here I&rsquo;m talking about just navigation things - moving between buffers, windows, tabs, etc.
(At the time) I was not talking about editing modes - I was still 100% committed to vim/evil.</p>
<p>Nevertheless I wanted my custom bindings to be &ldquo;mode&rdquo; agnostic, so that ruled out using general.el and also using SPC as a leader key (since the non-modal default bindings need to insert a space with SPC).
I tried Alt-SPC for a while instead, but that was surprisingly awkward even though it can be done with either hand, one hand, or even just the thumb if angled correctly.
I decided to just embrace conventional emacs wisdom and rewrite my custom keybindings with C-c.</p>
<p>On my first read-through of Mastering Emacs, I thought some of the emacs navigation bindings were just ridiculous; the shear volume of bindings with no seeming rhyme or reason seemed absurd.
After forcing myself to learn them, I realize the navigation bindings are actually surprisingly consistent - it&rsquo;s the same pattern across windows, frames, and tabs.
And C-c for custom bindings has been just fine.
It was with this in mind that I thought: maybe I&rsquo;m just misunderstanding the emacs editor keybindings as well?</p>
<p>My first step was to create my emacs keybindings that I could access in insert-mode (called insert state in evil).
Not really necessary as you can locally toggle evil-mode with C-z, but this at least got me to start using things like M-d or C-k when I was too lazy to hit the ESC key to get back into normal mode.
This was fine, but it wasn&rsquo;t enough to seriously learn and use them.</p>
<p>So after a couple minutes of consideration and somewhat on a whim, I decided to rip off the bandaid and switch away from using evil-mode in gnu emacs.
Here are some of my reasons for doing so:</p>
<h3 id="abbreviated-and-impromptu-list-of-reasons-to-not-use-evil-mode">Abbreviated and impromptu list of reasons to not use evil mode:</h3>
<ol>
<li>Curiosity.</li>
<li>Improve my bash default keybinding proficiency.</li>
<li>Not be completely retarded when my init.el fails to fully load or cannot load at all.</li>
<li>Cut down on emacs packages and abstractions.</li>
<li>Most importantly: experience emacs packages as the developers intended.</li>
</ol>
<p>I really want to focus mostly on the last one because that is my primary motivation.
It was during my research of elfeed that I realized evil-mode and specifically evil-collection do quite a bit of violence to the original keybindings from the author.
By now I knew that evil-collection made changes on most packages - e.g. dired - but for the most part they&rsquo;re pretty sane and retain most of the original bindings.
This was not the case with elfeed, and reading documentation proved to be somewhat a moot point as basically everything had been changed to line up with a vim-style workflow.
It made me wonder - what other aspects of emacs are being substantially changed because of evil and evil-collection?
Am I losing out on some gucci emacs feature because of evil-mode?</p>
<h3 id="concerns">Concerns</h3>
<p>I have three major concerns with switching away from vim/evil keybindings:</p>
<ol>
<li>Inability to rewire my brain away from vim habits.</li>
<li>Missing out on features I&rsquo;ve come to love (e.g. visual-mode commands and vim&rsquo;s search/replace mechanism).</li>
<li>Finger strain - the famed emacs-pinky.</li>
</ol>
<p>For the first one I figure there&rsquo;s only one way around - practice.
I took a look at god-mode and meow-mode to see if there was a way to &ldquo;have my cake and eat it too&rdquo; so to speak, but I realized these would be similar to vim and at the same time different enough that I am unlearning and replacing vimisms with vim-like alternatives rather than learning a whole new set of bindings.
Meow would still require me to have some proficiency with emacs bindings for the non-text buffers.
As I went through the emacs tutor again, I came to the conclusion that emacs and vim bindings are probably different enough that I should be able to compartmentalize them fairly well.
The same cannot be said of vim and meow as I would chose one to the detriment of the other.</p>
<p>For the second one, this is more of a concern with having to learn new ways of doing the same things.
Considering emacs is a lisp-interpreter ultimately and isn&rsquo;t bound by the same restrictions as vim or any other program, I&rsquo;m confident solutions for my favorite vim features exists in emacs - it just won&rsquo;t start with a colon or some other vim key.</p>
<p>Regarding the last one, I figure this is something I&rsquo;ll be able to learn soon enough to prevent any issues should they arise.
However, I heard from one of Prot&rsquo;s vids that the best hack for emacs bindings is learning proper typing habits using both the left and right hand.
This is something I had been working on anyway; C-c as your leader key gives you a ton of practice breaking away from just using the left hand, for example.
With caps lock remapped to control, I&rsquo;ve had very little issue using both hands for CTRL and ALT key operations, even when those keybindings involve switching hands in the middle of a key combination.
As an added bonus I am no longer engaging caps-lock and doing all kinds of unintended stuff.</p>
<p>So if anything I look at this as a really good opportunity to perfect my typing
The next step will be split-keyboards, but that&rsquo;s a level of autism I shouldn&rsquo;t approach lest I go down another potentially expensive rabbit hole.</p>
<h3 id="one-week-review">One Week Review</h3>
<p>So far I have no real complaints not using vim/evil mode.
It hasn&rsquo;t taken long to get familiarized with the default keybindings for various programs; really that aspect of emacs is no different, just using b/n/p/f instead of h/j/k/l.
One of my main fears was that I would always need two-hands to do any kind of scrolling or navigating, but this really isn&rsquo;t the case.
In almost all buffers, &ldquo;n&rdquo; and &ldquo;p&rdquo; will move up/down without the control key, so one-handed browsing has not really been an issue.</p>
<p>I&rsquo;ve stopped mashing ESC all the time like I am accustomed to.</p>
<p>Learning the emacs bindings is surprisingly easy because they&rsquo;re largely pneumonic-based.
Even in programs like dired: up-directory is ^, a symbol that looks like an up arrow, for example.
Not always the easiest to reach, but easy to remember.</p>
<p>Editable buffers took about a day to knock off some <del>rust</del> iron oxide, but it&rsquo;s been fine.
Slower for sure, but not drastically.
I suppose akin to the non-soystemd inits booting quicker - it is true dinit and runit boot quicker, but not to the extent that it drastically changes your computing experience.
A lifetime of booting with dinit over soystemd will save tens of minutes.
Likewise I think the extra time it takes with emacs bindings is a drop in the bucket, at least for my uses.
Completely different story for programmers.</p>
<p>I can already tell emacs bindings have some advantages over vim - probably fewer compared with vim&rsquo;s advantages but for the right person the advantages of emacs bindings could be substantial.
For writing prose I can see how emacs bindings are really nice - there are a ton of sentence/paragraph oriented operations that don&rsquo;t have parallels in vim (and don&rsquo;t need to tbh considering the target audience of sysadmins and programmers).
Plus transposition of characters and words.</p>
<p>I think the biggest strength of emacs bindings (so far) is the kill ring.
Yes, there&rsquo;s a way you can access it in evil, but you have to customize that yourself.
And this is a feature that carries over to bash which does not have an equivalent in readline vi-mode (to my knowledge).</p>
<h3 id="long-term-prediction">Long-Term Prediction</h3>
<p>I&rsquo;m going to give it some time, probably close to a year to get an honest review, but if I had to guess I am most likely done with evil/vim bindings in emacs.
I&rsquo;d also like to toy with the built-in viper-mode which emulates vi-bindings.
My vimrc is split up between vi-compatible options and vim-specific stuff, so I&rsquo;m already very familiar with the vi limitations and honestly, it doesn&rsquo;t bother me much.
But that probably will not be a long-term solution if viper-mode affects more than just the editor.
I can already tell that emacs &ldquo;feels&rdquo; better integrated and more consistent with the default bindings.</p>
<p>So if you&rsquo;re like me and seemingly tied to vim-bindings, try breaking out of your comfort zone a bit and cracking open the emacs tutor with C-h t.
Emacs tutor is extremely useful even beyond the editor bindings, but it&rsquo;s unfortunately kind of useless if done in evil mode.</p>
<p>You might be surprised.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
