Hacker News new | ask | show | jobs
by OhMeadhbh 207 days ago
Meh. I'm not a fan of modal interfaces. But if it works for you, then knock yourself out. I appreciate the write-up here. I'll give it a try to see if I can see what the author is talking about. The overwhelming majority of code I write now is in snippets inside text documents (think Knuthian Literate Programming) so I don't know how that would work w/ the author's modal setup. But they went to the trouble of documenting it, and it seems sort of like what `vi` people are always yammering about. Seems a decent idea to try to understand it.
1 comments

> I'm not a fan of modal interfaces

I'm assuming you're using Emacs (otherwise why would you be commenting in this thread, right?). It's weird to hear that from an Emacs user - it's inherently a modal editor - keycords are modal, isearch is modal, repeat-mode is modal, transients are all modals with states. Evil-mode only adds some consistent "language" and structure to deal with modality, there's nothing much to it.

Idea of vim-navigation is actually pretty neat thing - absolutely beautiful, practical model. Its biggest problem is that it encapsulates some tacit knowledge - nobody can really explain the benefits of it to anyone until they try it for some time and it "clicks". I suppose just how learning to ride a bike may work differently for different people - it also takes different amount of time and effort. But once you figure it out - there's really no going back - no reason. It's very rare to meet people who've mastered it and then willingly stopped using it.

There's no conceptual difference in switching between navigation and insert modes in Vim and e.g. C-c C-c/C-d in Emacs - the only difference that you're in-between state more often, but once muscle memory trained, it becomes second nature - you don't even think about what mode you're actually in - it becomes very fluid and consistent flow state that allows you to very efficiently navigate and deal with text - with any kind of text - plain and structured.

Also, I find that mastering efficiency in Emacs using only vanilla keybindings is a bit harder than becoming a keyboard-maestro with the help of evil-mode or similar modal modes like meow. I've been working over a decade in various teams where people use Emacs, and evil-mode users typically figure out things much faster, while those sticking to native keybindings, don't even discover some great features of Emacs for years.

Ack. Forgot to respond to this. Yes, valid point. I guess when you swim in the sea of modal interfaces you're used to you don't see them. It's entirely possible the reason I like emacs more than vi is I just used emacs a lot more. Also, I like that emacs starts in a mode where it prints out what you type in. I know some versions of vim did this too, but now it seems sort of random so I always hit escape i any time i start vi. Also, I do appreciate vi's keystrokes. They seem to be better thought out than emacs'. I'm sure you can modify bindings in vim by now. Not sure what you mean by C-c C-c in emacs. That's not bound to anything on my system. Are you talking about (overwrite-mode)?

Not sure I understand why vi navigation is better. I always thought emacs' arrow keys were better than escape-h,j,k or l. Much of the time I just use emacs' equivalent of leaping, ctrl-s and ctrl-r to search forward and back.