After about a year of mostly forcing myself to learn it, I started using it as my main text editor. At this point, I have a standard vimrc and plugins that I install on every new machine, including windows. Vim is my default text editor of choice.
Some of the benefits:
- Introduced me to the concept of not using your mouse and how much this increases the speed you can work. Introduced me to hjkl as movement keys (which at first glance was not obvious to me).
- Lots of commands to move around quickly. Lots of customization options for the constant tweakers in us. Core focus on changing text in as few keystrokes as possible.
- Lots of plugins to do all that cool "Oh, it would be cool if it did this." The "missing" features, like code completion or file system navigation, are available via plugins.
- The interface is very fast and pleasurable to use once you have familiarity with its incantations (which actually aren't so bad once you learn the basics).
I have no strong opinion of emacs, but it strikes me as similar in experience (if not implementation) to vim. I used sublime text for a while and liked it, although I kind of just ended up sticking with vim. It is funny how much programmers get into text editors, although they're important tools for the profession, so tradesmen obsessing over the tools they use probably isn't so new.
Then comes Quail and Org-mode.
emacs is plenty powerful and I tried it for awhile. I think if you start out with emacs, you'll stick with it.
I do like your point about being more productive without the mouse.
Everything in life depends on cause and effect and "modes". Your actions have consequences and should obviously affect future interactions.
I can totally understand that in certain instances, having "modes" or states in a software package might not be intuitive or preferred. But I also feel that having stateful software can be even more useful.
I think your point about productivity in VS probably has more to do with its IDE features than its text editing features doesn't it? I also enjoy using a good IDE, but I still lean heavily on (bad to mediocre) vim keybinding support. At least I can navigate and make small edits nicely, but for anything more advanced, it's straight back to the control key or right click menu.
What I'd really love to see would be an IDE designed from the ground up to be modeful, and to put the most common things you do in an IDE on easy to reach keys. The interesting part of vim isn't the specific keybindings, it's the philosophy, and as far as I've seen, nothing else embraces it.
I used to hate vim with a passion because of how unintuitive everything seemed, but this made me want to learn more once I get used to hjkl and some of the shortcuts.