3 ms·
They are fundamentally different ways of thinking about editing, so this doesn't read like an apples to apples comparison. Vim is all about chaining small comm
by taviso 4y ago
They are fundamentally different ways of thinking about editing, so this doesn't read like an apples to apples comparison.
Vim is all about chaining small commands together to perform complex operations, like building a pipeline in UNIX. You start off learning a few basic commands, then as your vocabulary increases you can construct increasingly complex tools just by hitting a few keys. A Windows veteran hearing about head, grep and cat for the first time might think "I can do all of that in notepad, this UNIX thing is a waste of time"... then they watch a UNIX greybeard build a pipeline in seconds that automates a hour-long workflow of clicking and form filling.
There are criticisms you could make that would read as fair, "many common editing operations are more accessible in foo", "features in foo are more discoverable", "the learning curve in foo is shallower", "I don't think it's worth the time investment to become proficient in vim/emacs" (but you would be wrong!).
- dmitriid 4y agoI spent two years with Emacs. I had it configured to my liking and so on. It wasn't worth the time investment. You analogy with head, grep etc. falls apart because you're not configuring a one-off task. And god knows, I've done plenty of those using bash, and python, and ruby, and..., and any combination thereof. Yes, all the "pipelines" you build for editing text (esp. in programming context) can't hold a handle to actual specialized tools.
- taviso 4y agoI don't know what you mean by "one-off task", of course you can save the commands you use most often. I think part of mastering vim is thinking about movements and commands in a more generalizable way, then macros are just second nature. Macros just make all the insane one-off editing tasks everyone runs into trivial. This morning I needed to byteswap all the hex constants in several huge tables, I don't know if I've ever needed to do this before, and probably won't need to ever again. I did it in vim with a macro that took me seconds (something like qa2xlpj3hq1000@a). Sure, this isn't for everyone, but one day you are going to want a minor variation on the operation your magic button performs... and I think you're going to have to take a swig of coffee and just sit there doing it manually!