Hacker News new | ask | show | jobs
by sevensor 3399 days ago
I've been thinking about this lately, and whether my preference for modal editors is a historical accident, an adaptation to the limited resources available when I was an undergrad, or whether there's more to it. I think there's more to it. What separates vim and emacs from editors with a more forgiving learning curve is that they embrace a separate language for editing that's distinct from text entry.

That's not to say that other editors lack a meta-language. Even Notepad has Control-this and Meta-that. But vim and emacs (and my new favorite, kakoune) are all about using the meta language to manipulate text as much as possible, and only doing text entry when text entry is truly called for. Subjectively, I feel more productive using one of these, and completely hamstrung by IDEs, even when they supposedly support vim keybindings.

1 comments

I wonder if that's the feeling too if you come back to a "normal" programming language after getting reasonably proficient in Lisp.

I see a couple of interesting parallels there - the biggest difference of Vim's modal commands to other control schemes (except maybe Emacs') is that they compose rather well. Add macros to that, and you can define (more or less) abstract editing functionality on the fly. It's basically a similar thing to what Lisp did to ASTs with it's homoiconicity and the macro system on top of it...

That is a very interesting point. I've been starting to study Racket, and although far from proficient, I can see the analogy. I really appreciate the lack of mental overhead for syntax, and I'm beginning to get a feel for how you might be able to plug things together.