Graphical vi-vim Cheat Sheet and Tutorial
Learning vi or vim is not easy. But it doesn't have to be that difficult, either. It is, in any case, faster, more powerful, and more productive than editing with any other editor, so you would do very well in investing the time and effort to learn it.
Being a vi lover myself, I came up with the idea of providing a graphical cheat sheet for those learning vi or vim, and I also found out it was a very good way to structure a tutorial. Here are the results for your learning enjoyment (or your colleagues').
By the way, I recently published the definitive article explaining why vi/vim editing is so much better than regular editing. It should prove useful if you want to read it yourself, or if you want to point your skeptical friends to a description of why it makes sense, apart from being an entertaining read: Why, oh why, do those #?@! nutheads use vi?.
Graphical cheat sheet
This is a single page describing the full vi/vim input model, the function of all keys, and all major features. You can see it as a compressed vi/vim manual. Click on the image below to access the full-size bitmap image, or download the vector-based, scalable SVG version (zip-compressed - and be sure to view & print the SVG with the open source application Inkscape or the Adobe plug-in for Internet Explorer, Firefox breaks the layout for some reason, apart from rendering it with no anti-alias!).
Graphical cheat sheet based tutorial
|
|
|
|
||||||||
|
|
|
|
The tutorial above is structured in 7 lessons that cover the major commands in vi/vim. They are structured so that you will learn the simplest and most useful first, and the more advanced ones afterwards. Actually, using just the commands shown in lesson 1, you can already start editing in vi/vim in a similar way to how you would on a regular editor. Lesson 2 introduces the very powerful, and vi/vim-exclusive operators, and the rest of the lessons advance from there. Each thumbnail links to a high-resolution bitmap version. You can also download the full tutorial in a single zip file with all the bitmaps or a single zip file with all the SVGs (see the note above about incorrect rendering on Firefox).
Notes
vim is an incredible editor by Bram Moolenaar, based on the original vi by Bill Joy, adding a ton of improvements over it. Nowadays, you should choose vim over vi every time you can.
The cheat sheet and tutorial cover most important functions of vi's input model, leaving out the more advanced regular expressions/ex command line material. This should be a very good beginning to becoming a vi/vim wizard.
With the single exception of the external filter feature ("!"), all functions shown are supported by ViEmu, my commercial add-in that provides advanced vi-vim emulation in Visual Studio.
Relevant links
This cheat sheet has proven to be pretty popular. Here are some relevant links:
- Brendan Kidwell prepared a PDF version for easy printing of the whole tutorial and cheat sheet
- Peter Hosey prepared a Dvorak layout version
- Donglu Feng prepared a simplified-Chinese version
- Mark Schoonover prepared another Dvorak version (more similar to the original)
- Nathael prepared a version with the French AZERTY keyboard layout, you can visit his page.
- G. Richard Bellamy took the time to prepare a Kinesis-Ergo style Dvorak version in SVG (for which he prepared a new Dvorak SVG version.
- Erkki Nousiaynen from Globe Views prepared a very nice Norwegian translation
And of course, the article detailing why vi/vim editing is 'the killerest':