A few examples of why vim has some non-obvious power:
* html you can change inside of a text object. If you are say anywhere inside of a link <a href="som|e link"> you can ci< and you have deleted the whole thing and are left with <|> (where the cursor is denoted by |) If instead you typed ci" you would be left with <a href="|"> this is a very powerful pattern
* you can script little macros that do text editing on a macro scale very efficiently. This is more useful than a simple find and replace.
you want to make a list that starts with a number, has that number in it and is incremented by one(or two or...) every time.
Type the first sentence
1, xv001, "", more stuff.
exit out of insert mode. jj or esc
start recording the macro into register r: qr
yank the line and paste it yyp
go to the beginning of the line 0 or ^
increment by one and move one word right and increment the next number: ctrl-a w ctrl-a
move down one line, j
exit recording q
run macro r 100 times 100@r
The nice thing is that if you mess something up you can paste whatever is in register r, edit it, yank it back into register r and run it. It sounds like it's slow but it's all real time editing and you are doing it interactive so you don't have to do it blind.
There are many more things that make vim style interactions a boon to your productivity but I don't have a lot of time to comment on it. hopefully I touched on enough that it piques your interest to at least give it a shot.
Vim is so popular that you can get pretty good emulation in a lot of IDEs so you can have the best of both worlds. vimemu for Visual studio is supposed to be very good. eclipse has eclim, hell even emacs has evil mode.
Well the formatting got messed up and it's too late to edit it:
* html you can change inside of a text object. If you are say anywhere inside of a link <a href="som|e link"> you can ci< and you have deleted the whole thing and are left with <|> (where the cursor is denoted by |) If instead you typed ci" you would be left with <a href="|"> this is a very powerful pattern
* you can script little macros that do text editing on a macro scale very efficiently. This is more useful than a simple find and replace. you want to make a list that starts with a number, has that number in it and is incremented by one(or two or...) every time.
Type the first sentence 1, xv001, "", more stuff.
exit out of insert mode: jj or esc
start recording the macro into register r: qr
yank the line and paste it: yyp
go to the beginning of the line: 0 or ^
increment by one and move one word right and increment the next number: ctrl-a w ctrl-a
* html you can change inside of a text object. If you are say anywhere inside of a link <a href="som|e link"> you can ci< and you have deleted the whole thing and are left with <|> (where the cursor is denoted by |) If instead you typed ci" you would be left with <a href="|"> this is a very powerful pattern * you can script little macros that do text editing on a macro scale very efficiently. This is more useful than a simple find and replace. you want to make a list that starts with a number, has that number in it and is incremented by one(or two or...) every time. Type the first sentence 1, xv001, "", more stuff. exit out of insert mode. jj or esc start recording the macro into register r: qr yank the line and paste it yyp go to the beginning of the line 0 or ^ increment by one and move one word right and increment the next number: ctrl-a w ctrl-a move down one line, j exit recording q run macro r 100 times 100@r
The nice thing is that if you mess something up you can paste whatever is in register r, edit it, yank it back into register r and run it. It sounds like it's slow but it's all real time editing and you are doing it interactive so you don't have to do it blind.
There are many more things that make vim style interactions a boon to your productivity but I don't have a lot of time to comment on it. hopefully I touched on enough that it piques your interest to at least give it a shot.
Vim is so popular that you can get pretty good emulation in a lot of IDEs so you can have the best of both worlds. vimemu for Visual studio is supposed to be very good. eclipse has eclim, hell even emacs has evil mode.