While I don't want to start a debate over VIM versus Emacs (I think they can both be used very effectively once learned), I can't help but share a video [1] on Emacs that made me go "wow!" (The video is somewhat similar, but uses multiple-cursors to do editing all at once, while also recording a macro to repeat it.) I think the real point for Vim or Emacs is that a powerful text editor, combined with the ability to extend it, is an extremely powerful tool.<p>[1] <a href="http://emacsrocks.com/e13.html" rel="nofollow">http://emacsrocks.com/e13.html</a>
After years of using vim, I switched to visual studio code because it feels like a plain text editor but has all the features of IDEs that matter to me: intellisence.
It'd be great if he actually explained any of that. One of the problems I've had with vim and emacs is the average user is so far into it they forget all of the base stuff that new users have issues with, so most guides skip all of that. It's gotten better with both of them with the package managers. However because they're so flexible I find that most users customize the key bindings in one way or another. And so when they show off how to do things it doesn't translate as all of the keys are different and I not only have to map the new feature of the new editor I have to also go through a key translation map. It is a very high barrier to entry. Same thing goes with all of the plugins people install. Emacs and vim are so far from stock on most people's machines it's impossible for me to learn by following.<p>I took a emacs class at a very good tech conference and I was 1 minute late and missed the key bindings changes the instructor had made as the first step. I was unable to follow anything for the next 30 minutes and walked out and got my money back. (This is much more an issue with the instructor than the editor).<p>I do like both of them and try and learn them every few years but I also try and be flexible across as many editors as I can be so I can help as many of my junior engineers out as possible. But jumping on someone's vim or emacs is like switching to dvorak. It's also pretty toxic for pairing unless everyone has agreed on setup.
I used vi/vim for 15 years, and still do when changing configuration locally and remotely, before learning emacs for university work. At work I use Visual Studio, and for personal scribbling I use Sublime Text. I never understood the editor wars.
Considering I go between Visual Studio, Visual Studio Code, and Android Studio, I'm pretty sure I'm not going to be using VIM or Emacs. Just a Windows centric person.
One of my favorite features of Vim is the built-in history of copy/pastes with history registers. You can learn about them here: <a href="https://github.com/steveshogren/10-minute-vim-exercises/blob/master/book_sample_history_registers.md" rel="nofollow">https://github.com/steveshogren/10-minute-vim-exercises/blob...</a>
I agree with the video: it feels amazing. That's what it is about. I can only speak as an ex-Emacs user, never used VIM, but I guess with vi-style editors the feeling is even more intense.<p>I think this is a real valueable thing, this feeling. I wouldn't have to justify using one of those editors with any of the usual reasonings that get pulled by the adherents of these editors. The feeling and it's side effects are awesome enough.<p>Only reason I use another editor which doesn't suck instead is that I value "macness" even more.
I used vi for years when I needed to edit things or write code on remote machines. And every time I was able to work locally, I'd use an IDE and breathe a sigh of relief.<p>It all depends on your style of development, and mine most definitely is NOT conducive to vi (or emacs).
Not a power user, but I've used vim for a few years in linux and really like it. It blows my mind how inefficient it is to just open a file in windows, edit it, and save it just using CMD without downloading gvim.
My biggest complaint about Vim is that I can't use the same navigational keybindings in every other program I deal with.<p>I'll be surfing the web, type <i>gg</i>, then pause for a second after that doesn't work.