The Vim/Vi Editor Commands Cheat Sheet

 

Vi Editor

A Vim or Vi editor cheat sheet, listing some useful, essential and most often used Vim commands for Linux users.

Cursor movement

  • h – move left
  • j - move down
  • k – move up
  • l – move right
  • w – jump by start of words (punctuation considered words)
  • W – jump by words (spaces separate words)
  • e - jump to end of words (punctuation considered words)
  • E – jump to end of words (no punctuation)
  • b – jump backward by words (punctuation considered words)
  • B – jump backward by words (no punctuation)
  • 0 - (zero) start of line
  • ^ – first non-blank character of line
  • $ - end of line
  • G - Go To command (prefix with number – 5G goes to line 5)

Note: Prefix a cursor movement command with a number to repeat it. For example, 4j moves down 4 lines.

Insert Mode – Inserting/Appending text

  • i – start insert mode at cursor
  • I – insert at the beginning of the line
  • a – append after the cursor
  • A – append at the end of the line
  • o – open (append) blank line below current line (no need to press return)
  • O – open blank line above current line
  • ea – append at end of word
  • Esc – exit insert mode

Editing

  • r - replace a single character (does not use insert mode)
  • J - join line below to the current one
  • cc – change (replace) an entire line
  • cw – change (replace) to the end of word
  • c$ - change (replace) to the end of line
  • s – delete character at cursor and subsitute text
  • S - delete line at cursor and substitute text (same as cc)
  • xp – transpose two letters (delete and paste, technically)
  • u – undo
  • . – repeat last command

Marking text (visual mode)

  • v – start visual mode, mark lines, then do command (such as y-yank)
  • V – start Linewise visual mode
  • o - move to other end of marked area
  • Ctrl+v – start visual block mode
  • O – move to Other corner of block
  • aw – mark a word
  • ab – a () block (with braces)
  • aB – a {} block (with brackets)
  • ib – inner () block
  • iB – inner {} block
  • Esc – exit visual mode

Visual commands

  • > – shift right
  • < – shift left
  • y – yank (copy) marked text
  • d – delete marked text
  • ~ – switch case

Cut and Paste

  • yy – yank (copy) a line
  • 2yy – yank 2 lines
  • yw – yank word
  • y$ – yank to end of line
  • p – put (paste) the clipboard after cursor
  • P – put (paste) before cursor
  • dd - delete (cut) a line
  • dw – delete (cut) the current word
  • x – delete (cut) current character

Exiting

  • :w - write (save) the file, but don’t exit
  • :wq – write (save) and quit
  • :q – quit (fails if anything has changed)
  • :q! – quit and throw away changes

Search/Replace

  • /pattern – search for pattern
  • ?pattern – search backward for pattern
  • n – repeat search in same direction
  • N - repeat search in opposite direction
  • :%s/old/new/g - replace all old with new throughout file
  • :%s/old/new/gc – replace all old with new throughout file with confirmations

Working with multiple files

  • :e filename – Edit a file in a new buffer
  • :bnext (or :bn) – go to next buffer
  • :bprev (of :bp) – go to previous buffer
  • :bd – delete a buffer (close a file)
  • :sp filename – Open a file in a new buffer and split window
  • ctrl+ws – Split windows
  • ctrl+ww – switch between windows
  • ctrl+wq – Quit a window
  • ctrl+wv – Split windows vertically

Popularity: 6% [?]

No related posts.

Subscribe to receive more Adsense, SEO,Blog Hacks articles to your Inbox

Share this Post:
Digg Google Bookmarks reddit Mixx StumbleUpon Technorati Yahoo! Buzz DesignFloat Delicious BlinkList Furl

4 Responses to “The Vim/Vi Editor Commands Cheat Sheet”

commenter

Thank you for your help!

commenter

Thanks Praveen to give information about VIM editor in detail and precisely..

commenter

I am a big fan of vi. I used this type of cheat sheet extensively in my early days of using vi.

Based on my experience, people either really love vi or really hate it. There is rarely any middle ground. I am yet to encounter anyone who is just lukewarm about it.

The problem with vi is that for people used to windows, it is very counter intuitive. The next reason is that it is not so much memorizing keystrokes as it is internalizing it. While cheatsheets are handy, it is practice that makes the keystrokes permanent.

Heres some vi magic:
reverse the lines in a file
:g/^/m0
on a unix environment this will number the lines
:! nl -ba
Amanda Gordon recently posted..Important Features Of Wet Dry Vacuum CleanersMy Profile

commenter

Amanda thanks for this trick its really cool ;)

Leave a Reply:

Name (required):
Mail (will not be published) (required):
Website:
Comment (required):
XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

CommentLuv badge

Spam protection by WP Captcha-Free