Example 1: use q to make a macro and then invoke it with @ and it would be even less typing. There are many, many ways to edit in vim.
Example 2: If you press dW it deletes the whole word. which would be the entire entry.key().equals(qk.key) string. dw would delete up to the period. d2f) would delete up to and including the second right paren from where you are. I personally use delete whole word a lot.
Example 3: the di> would delete everything inside the brackets even if they spanned multiple lines. you also can be anywhere inside the bracket and this will still work. This also works with other types of tags. di) would do the same for the current level of nested parens.
Example 4: really only offering one way to do granular navigation vs. many different ways that might work for a particular situation. learning them is not that hard when you take into consideration the mnemonics involved. you need to learn some verbs to be effective: d is delete, v is visual, c is change, w is word, f is find, t is find unTil, p is put, y is yank, a is after, b is back, etc....
Example 5: There are plugins that can do this automatically in vim too. The larger, more interesting thing is the ability to do entire operations on text blocks and I think that is more important than the particular case of automatic indenting.
Example 6: you can also get a plugin that does the highlighting automatically.
The fingers on the home row is pretty awesome. there is a cognitive load to navigation to precisely put your hands on the arrow keys correctly. To get back to normal mode you can either slap the escape key(not as good) or remap escape to jj(or some other not commonly used key sequence) while in insert mode.
The macro system in vim is excellent. everything is text so you can look at the macro commands and edit them if you made a mistake. There are a lot of registers(basically named clipboards that you can use to copy and paste text the " is the default clipboard when you don't actually specify a yank target.)
Your point was that the ide is great and can do all that vim can do, but you only showed that aside from some special case things with snippets and auto indenting. After you have gone past the special case stuff that your ide can do you have to resort to hunting with the arrow keys.
You can be productive in macvim quite quickly as it affords all the fun copy and paste stuff like you are expecting to have at the os level but still have all the vim goodness underneath. at the end of the day go for whatever you feel most productive in but there really is a reason that after you get competent with vim/emacs you are extremely productive.
You kinda missed the point of my comment, it's just demonstrating that there's nothing amazing about any of his examples.
I'm not denying some things are faster in vim, but other things are slower.
What I take umbrage with is when someone posts a load of examples like this where they can all be done in your favourite IDE but the author's just too lazy to find out if they could be and so declares the magic of Vi or Emacs compared to [insert everything else here].
Often it's like saying 'look my car's got windscreen wipers, all your cars suck'. Um, mine has windscreen wipers too dude.
See my response to vacri, if you've any examples, please do share. I honestly will switch if I could see a sizeable productivity gain.
To be fair to the author, the post is to convince people to use viemu, his product which gives vi controls to Visual Studio. So, I think he probably agrees with you with regard to IDEs.
I agree that there was nothing amazing with the examples that he gave. you can do anything in notepad that you can do in vim as it is all text. I actually like using my editor because it conforms to how I want to use it. it is very fast at slinging text around. Vim is a text programming language and you are learning the syntax of how to program in it. I like the satisfaction of being able to cut and paste text without thinking about it much. navigation is smoother as it's less disjointed to navigate by block than it is to navigate by pageup, pagedown; everything feels smoother.
It takes a bit to get used to the language of vim but once you do you will see. I also don't get why you need it to be mutually exclusive. If I was doing a lot of windows coding I would probably use visual studio with the vi plugin.
Stuff like vim surround is a great plugin if you regularly need to write html or strings that you forgot to surround with quotes.
example of that:
Usage:
Old text | Command | Result
|IShot The Sheriff | yssA | <a href=""> I Shot The Sheriff </a>
One of the best things about vim is the capability to map keys to other keys and have them either recursively act or non recursively act. EVERYTHING* can be customized. There is also something awesome about having most of the commands be one key as it really speeds things up. for example just moving one word right would be two uncomfortable keystrokes in vs(ctrl-right arrow) vs just one(w).
To be fair I think the author is not dismissing all other cars as not having windshield wipers; I think the author is more saying that my car has windshield wipers that you can turn easily and other cars have it so you have to turn them on via the glove compartment. ;)
Everything feels fast when I am using vim well and I just can't say that about any of the IDE's(I have used visual studio professionally for years and was constantly looking for performance shortcuts).
Example 2: If you press dW it deletes the whole word. which would be the entire entry.key().equals(qk.key) string. dw would delete up to the period. d2f) would delete up to and including the second right paren from where you are. I personally use delete whole word a lot.
Example 3: the di> would delete everything inside the brackets even if they spanned multiple lines. you also can be anywhere inside the bracket and this will still work. This also works with other types of tags. di) would do the same for the current level of nested parens.
Example 4: really only offering one way to do granular navigation vs. many different ways that might work for a particular situation. learning them is not that hard when you take into consideration the mnemonics involved. you need to learn some verbs to be effective: d is delete, v is visual, c is change, w is word, f is find, t is find unTil, p is put, y is yank, a is after, b is back, etc....
Example 5: There are plugins that can do this automatically in vim too. The larger, more interesting thing is the ability to do entire operations on text blocks and I think that is more important than the particular case of automatic indenting.
Example 6: you can also get a plugin that does the highlighting automatically.
The fingers on the home row is pretty awesome. there is a cognitive load to navigation to precisely put your hands on the arrow keys correctly. To get back to normal mode you can either slap the escape key(not as good) or remap escape to jj(or some other not commonly used key sequence) while in insert mode.
The macro system in vim is excellent. everything is text so you can look at the macro commands and edit them if you made a mistake. There are a lot of registers(basically named clipboards that you can use to copy and paste text the " is the default clipboard when you don't actually specify a yank target.)
Your point was that the ide is great and can do all that vim can do, but you only showed that aside from some special case things with snippets and auto indenting. After you have gone past the special case stuff that your ide can do you have to resort to hunting with the arrow keys.
You can be productive in macvim quite quickly as it affords all the fun copy and paste stuff like you are expecting to have at the os level but still have all the vim goodness underneath. at the end of the day go for whatever you feel most productive in but there really is a reason that after you get competent with vim/emacs you are extremely productive.