Vim Quick Reference

I often use vim as the editor when I’m connecting to my hosting
provider…. so I figured I’d put the most common tasks up
here, since I can never remember some of these.

Open /
Save / Exit
:w Save File
:q Quit
:q! Really quit, don’t just talk about it.
:wq Quit, but save first, cause who really wants to do
something in vim more than once?
:x Pretty much the same as the above, but it doesn’t save
if you don’t need to. This makes more sense, and it’s one keystroke
ESC Go back to command mode
/ Edit
So this is where the gmail keys came from!
j Up one line
k Down one line
l right
h left
e end of the world. I mean word.
b beginning of the word.
0 Beginning of a line
$ End of a line
H kinda like Home, takes you to the top left
L also means loser, takes you to the bottom of the screen.
:88 takes you to line #88. Don’t try this with any line
other than 88.
i insert text. This is one of the only keys you need to
x delete the character you are standing on. This is the
other character you really need to know.
cw delete the current word and start inserting. means “Change Word”. Thanks Quinn!
r overwrite a single character. I like this one.
R replace lots of characters.
o Make a new line below and start insert mode
O Make a new line above and start insert mode
a append right here. You’ll probably use i more.
A Appends at the end of the line. I use this a lot.
dd delete the entire line.
9dd delete 9 lines. This only works for 9 lines. You
couldn’t say, use this to delete 8 lines by doing ’8dd’. No way would
that work.
yy yank the current line to the clipboard, or
whatever they call it in vim terms.
5y yank 5 lines to the clipboard.
p paste the line you just yanked.
u Undo. This app actually has undo? very cool.
/pattern search for the pattern “pattern” Kinda redundant
n Works like F3 does in windows, takes you to the next
search result.
N works like F3 doesn’t in windows, and takes you to the
previous search result.
%s/stuff/toreplace/g Replace stuff with toreplace everywhere in the file.
G Go to the end of the file (thanks Q!)

5 Responses to “Vim Quick Reference”

  1. pete Says:

    Some more vim commands I use often:

    - An alternate to ‘n’ is to just type ‘/’ again to move to the next search result.
    - ‘?’ also takes you to the previous search result (or searches backwards if you prefer to think of it that way).
    - CTRL-R is the command for redo (or undo undo).
    - At the command prompt (the ‘:’ thingy), type ‘!’ and then a bash command to see the output in a shell window (there’s a command to insert the output of that shell command, but I can’t remember it right now).
    - ‘J’ joins the current line with the next one (comes in more handy than you’d think).
    - In addition to just doing a %s/…/…/ search and replace, you can do line ranges. ‘.’ means the first line of the program, ‘$’ means the last line, and a number is that line number. So you can do .,8s/…/…/, or 15,$s/…/…/, or even .,$s/…/…/ if you’re feeling silly.
    - In addition to ‘g’ after a search and replace, there’s ‘c’ which will make vim ask your permission for each replacement, and ‘i’ which will do a case-insensitive search. There’s probably others I don’t know about.

  2. Gert Van Gool Says:

    In addition to Pete:
    just s/…/…/ replaces on the current line, adding a g (%s/…/…/g) replace multiple items on the same line

    - If you edit a lot of source code: ‘gf’ to open the file under the cursor
    - When the cursor is on a (, ), [, ], { or }, press % to go to the matching opening or closing bracket

  3. johnnygri Says:

    ‘D’ is useful: delete to end of line.

  4. jkj Says:

    kjlk kjlkj

  5. Barney Says:

    This is one of the best vi guides I’ve seen. It made me smile and remember too!