.comment-link {margin-left:.6em;}

filling the void

Tuesday, January 09, 2007

The vi input model

I prefer vi over Emacs. Always have, always will. This, however, it's about Emacs, it's about vim.
What vi has over Emacs, and most other editors for that matter, is simplicity. Simplicity, always to the edge of being painful. Everything is so damn simple to do, but you need to learn how to do it, otherwise you are liable to fuck up all that text you've been working so hard to type.
The beauty of vi is that your fingers virtually never leave the home row. Other than Esc, your fingers stay in the same position all the time. (Shift and Enter being reachable while still on the home row).
This guy has a pretty interesting piece about re-discovering the joys of vi. He does make a lot of sense, and while I know the vi model fairly well, I can't say I ever use it, except on Unix systems that I fall over every now and then. It really is quite ingenious, but as I have a proper and wonderful keyboard (whereas the author of the piece did not), I don't see a need for me to migrate to the vi input model in my other applications, even though it is quite spectacular.

Also, vi is guaranteed to exist on every Unix system you ever come across, not matter how old or small, so it helps if you know how to use it.

The article also provides two links to learning how to use vi, that I'll re-link here, lest they disappear for unknown reasons.

I remember hanging out in #OpenBSD on EFNet (irc) a while back (years), and someone was circulating this file called learnvi.tgz. As the name implies, it was guide to learning vi, using vi. It was awesome, it guided you through everything you need to know, and it wouldn't let you get to the next step unless you have completed the previous one flawlessly.
I could probably have learned about vi in another way, but it was just so damn good that I've saved it, and whenever someone asks me about editing on Unix, I just send them this file and tell them it's going to change their life.

Labels: , , , ,


Post a Comment

<< Home