Zayd C. wrote:
I tried using vim before, installed it, opened it up and was very
clueless, I need to take some serious tutorial lessons in order to mess
around with it :). I been reading and hearing alot of good things about
If you’re on something Unixy, try running vimtutor. It fits nicely in a
standard 80x24 terminal, and should take 25-30 minutes. You could run
gvimtutor instead, but I find that half the power is Vim’s integration
with the command line.
The rest of this post is a sob story that can safely be ignored.
When I was in college (ten years ago), I had some exposure to vi (which
I found impossible to use, I could never figure out how to exit, and
what the heck were those tildes?) and emacs (which kept messing up my
formatting, and always thought it knew better than I did).
At my first post-college job, I spent about four years using XEmacs. I
lived in it. My mail client (VM) was an Emacs plugin, and so was one of
the web browsers I used quite a bit (W3). Then I had wrist problems
from bilateral ganglian cysts, apparently caused by Repetitive Stress
Syndrom from twisting my wrists to hit emacs “key chords.” The pain got
so bad I couldn’t type. The first surgery was quick and painless, but
the problem came back. The second surgery was more serious, and kept me
out of work, with my right arm propped up in this stupid orange foam
block, for two weeks.
When I finally got back to work, I decided to try vi again. (I didn’t
know the difference between vi and vim, which is akin to the difference
between C and C++). For the first two days or so, it was like learning
a new language. Then, I started to learn “the vim way,” to borrow a
Rubyism. For starters, I didn’t have to do everything directly in Vim:
I could quit and restart at will, because the start-up time was
lightning fast! And then – holy crap – I didn’t need to figure out
(my-what my-elisp-command my-I my-needed), because Vim has special
support for working with traditional Unix command-line filters. It’s
trivial to write a shell script and have Vim invoke it on selected text.
After a while, I could do 90% of what I did in emacs, and do it a
whole lot faster. Eventually, I found out about GNU Screen, which got
me back the shells-in-buffers I had used in emacs, so then I was up to
about 95% of the emacs stuff.
I’m still learning. One thing I missed until recently was the emacs
function that walks you through search-and-replace, one replacement at a
time; then, last week, I learned about Vim’s /c modifier, so problem
solved. I went to learn some vimscript recently, and found – lo and
behold – Vim also has bindings to Ruby, Tcl, and several other
scripting (okay, “dynamic”) languages. The documentation is, as far as
I know, unparalleled.
When I use an IDE now, it’s like a toy. With Vim on Unix (incuding
Linux and OS X), my whole system is the IDE. I’m not an expert on
Eclipse or Visual Studio, but I have used them both professionally, and
what I’ve seen does not hold a candle to Vim. Vim’s learning curve
seems high at first, but if you code for a living, you’re going to save
a heck of a lot more time than you spend coming up to speed.