HACKER Q&A
📣 cylinder714

Best path to Emacs for lifelong vi guy?


I've used vi my entire adult life. (I've never plumbed the depths of Vim, I just use it as a vi substitute.) I acknowledge and affirm that Emacs is brilliant, but I'm very comfortable with modal editing (and suspect that it's superior to Emacs' UI). What's the best way to dive in: start with vanilla Emacs, or start with Evil or viper mode?


  👤 glacials Accepted Answer ✓
I am about a month further along than you on this journey. I started with vanilla Emacs and went through the built-in tutorial for a few days, then at the behest of friends switched to Doom.

Using Doom was valuable for me to see what Emacs can be. It is astonishing how much of an upgraded experience it is. However I felt I couldn’t understand where Emacs ended and Doom began, and the number of moving parts was making it hard to find solutions to problems.

For example, Doom keybindings for standard functions differ from normal Emacs bindings, so you can’t just follow any Stack Overflow post—the bindings won’t work. The fact that I didn’t even know why this was the case was getting to me.

I switched back to vanilla Emacs and, armed with the knowledge of what is possible, have been building up my config for a few weeks. I am making a special effort to avoid Evil Mode for a bit so I can learn all the bindings and make the decision for myself whether I like them or not. God Mode helps here as a more idiomatic alternative.

If your learning style is focused on knowing your foundation before building atop it, I’d recommend a similar path. I also have got a lot of value from sifting through others’ configs to pick up gems here and there. With literate programming it’s very common to find fantastically documented configs online.


👤 PaulHoule
I went the other way, from emacs to vi. There were two reasons.

(1) is that when I do sysadmin tasks I can always count on vi being installed in a Linux system, particularly if it is bad shape. Although I could install emacs in most cases, maybe the package system is corrupted or maybe the owner of the box doesn't want me to install emacs, whatever. From that point of view any kind of customization is a negative because the point is showing up, doing the work, and leaving behind no mess.

(2) I found the continuation characters in emacs get in the way when I try to cut and paste from a terminal window running emacs to an IDE window (I usually work in IntelliJ idea or another Jetbrains IDE) or to a text box in a web page. With "vi" it just works and I find it comfortable to switch between remote vi and a local IDE... I could probably configure emacs to not show those continuation characters but it's another thing to configure and I said above, I see editor configurability as a problem and not a solution.


👤 ninjha01
I don't use modal editing, but I'd suggest starting with Evil or the like.

The blessing and curse of emacs is that your editor is now a software development project.

Let this inform your approach - start out with an MVP, see if it solves a problem, then iterate.


👤 hackrnusr
https://www2.lib.uchicago.edu/keith/emacs/

Mickey Peterson's Mastering Emacs is also quite good.


👤 throwawaysalome
Vanilla emacs is unusable. You need to find a popular starter config and run through the tutorial (C-h t). I generally advise against evil, spacemacs, and doom, as using vim bindings with emacs would be like eating pizza with a fork and knife.

👤 SirensOfTitan
Use Doom emacs: it has great defaults for vim/evil users.