Hacker News new | ask | show | jobs
by antonpug 4031 days ago
What would you say is the learning curve? From someone who is used to GUI editors, moving to VIM...how long until you're actually reaping the benefits?
5 comments

It took me a week to be comfortable with the mode change, then 1 month to be relatively comfortable with Vim... and 5 more month to properly reap some of his advantage when editing text. It may seem a long time, but it's taking me the same time to be comfortable with emacs right now, and from what I remember, with other editor more or less the same difficulties arise (I've never tried Sublime enough for example, but for Textmate it took me less time only because the feature set is narrower... habits themselves took the same time to kick in)
It took me a day to use it as "notepad with syntax highlighting", couple of weeks before I started preferring normal mode to insert mode, and from there on I slowly evolved my configuration and the tricks I use/learn.

Nowadays when using vim I occasionally have people ask me "how did you do that?" and I won't even know what keys I typed. The keybindings are as natural as walking/grabbing things and require as much conscious thoughts. I usually have to redo it in slow motion to see what I did...

I can highly recommend Bram Moolenaar's essay on "The Seven Habits of Effective Text Editing" (http://www.moolenaar.net/habits.html), it has a vim focus, but I think his points are editor agnostic

Edit: I started using vim as a windows GUI person in university since I wanted to edit over SSH and vim was the only editor with syntax highlighting on the servers. So it's not like I was a terminal wizard back then (I am now :p)

Play VIM Adventures[1]. Even doing a few levels was enough for me to start enjoying benefits. And I didn't switch from Visual Studio for the bulk of code editing, I just added VsVim. That way I'm not forced into VIM. I can use as much or as little as I want. No pressure. (Though all my config editing is over SSH and VIM itself is great there.)

The biggest, easiest, thing for me was macros. Being able to easily and quickly record a macro and apply it over many lines - that's slick. Like converting a CREATE TABLE to a set of ORM instructions, or into a structure. Before I'd use some half cooked regex and clean up after. Now I just edit one l line while in a macro then run it N times.

Apart from that, it's just a ton of little things that add up.

Also: ViEmu for Office. VimFx for Firefox (there's one for Chrome too, Vimium). Browsing without the mouse is really great; quite elegant.

1: http://vim-adventures.com/

My experience was a couple of weeks using it full time to really get comfortable with the basics.

From that point you'll be constantly learning new ways of doing things better because vim is really more of a language than anything.

Spend 2-3 hours and learn the basic movement methods, this brings you at a comparable speed with a mouse-based editor. After a week of using you'll develop muscle memory and you're already faster. At least that's my experience with teaching other people so far.