vim For Emacs Users

This site attempts to instruct Emacs users in the rudiments of vim usage. For Emacsphiles, learning vi tends to be like the neophyte martial artist's experience of being whacked unexpectedly with a stout bamboo cane until one trains oneself to avoid the blows. I'll try to make the experience more gentle than that. When you get used to it, vim is really not that bad. I'm using it to build this site, and I'm almost enjoying myself.

If you want to comment on this site, point out an error, or suggest additions to the content, please send email to jknapka at (this site).

I'll say up front that this tutorial is very idiosyncratic -- I'll tell you how to do, with vim, the stuff that I find indispensable under Emacs. Anything else you'll have to figure out for yourself. I will say, however, that O'Reilly's Learning the vi Editor is a very good place to find out more.

I should also point out that, while I've been using Emacs as my main editor for more than 15 years, I am by no means the most knowledgable Emacs user out there. I can edit my way out of a paper bag, and I'm comfortable with macros, but if you are a real Emacs wizard, this tutorial probably won't go far enough into the depths of vim scripting to make you happy.

Also, this tutorial concentrates on vim, because that's the vi-clone that I use. There are minor (and not-so-minor) differences between the various incarnations of vi, so beware.


Where equivalent or nearly-equivalent key sequences are available, I'll often write that equivalency as
Emacs-keys vim-keys
(this will usually be a link to the relvant vim help page)
A brief explanation of common ways you can get yourself in trouble if you assume that the correspondence is exact.

I'll refer to control keys as ^A, ^B ... the ESC key as Esc, etc. Case is significant: "j" means a lower-case "j", and "J" means an upper-case "j". I will separate key names with spaces for clarity, and if I mean "hit the space bar" I will write "[space]".

Choose an Emacs task from the list at the left to find out the vim equivalent.

Last changed:
08-07-07 11:45:33

This page was rendered by LittleSite.
LittleSite is Copyright (c) 2005 by J.Knapka.
Questions and comments to JK