I’ve recently seen many ruby developers using or switching to Vim as their main code/program editor and as a long time fan of TextMate I thought I should at least try it out. If you’re out of the loop about it, Vim is an enhanced version of vi (pronounced like the letters “v” and “i”), the linux command-line text editor (that black and white thing). As oppose to vi, Vim is a sophisticated graphical text editor, with features like syntax highlighting, cursor support and split screens for multiple file editing.

The reason to use Vim over say TextMate or Notepad++ is that vim is platform independent (with support for linux, mac os and windows), it’s extremely lean and it will blow away your friends when you show off your seemingly hackerish skills.

When taking advantage of the abilities of Vim you’ll be using a lot of keystrokes and keys to move around a document while editing, so you won’t be pressing buttons to save or to switch to another document.

Vim usually comes bundled with different releases of Linux, but there are also official versions available for download it at the official website where you’ll see instructions on how to compile it. If you’re on a mac that process should be pretty seamless as it comes as a .app file.

You can get rid of this welcome screen by resizing the window or by hitting i and typing anything into your document.

Fire up vim and you’ll see a new file waiting to be edited/saved with some basic instructions:

I’ll use this post to show you a bunch of awesome resources and tutorials online on how to use vim and take control of its useful key combinations when editing a document.

  1. Video introduction to text editing in vim
  2. Excellent PDF on using vim
  3. Showcase of useful plugins
  4. Vimcasts
  5. Novice to advanced screencasts by Derek Wyatt
  6. More videos
  7. Overview of keys and commands in vim
  8. Same as above
  9. Learn Vim progressively
  10. Vimconf
  11. Vim cheat sheet