Vim Cheatsheet and Reference Card

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Vim cheatsheet

Vim is a very efficient text editor. This reference was made for Vim 8.0.
For shortcut notation, see :help key-notation.

Getting started

Exiting

Shortcut Description

:q Close file

:qa Close all files

:w Save

:wq / :x Save and close file

ZZ Save and quit

ZQ Quit without checking changes

Navigating

Shortcut Description

hjkl Arrow keys

1/11
Shortcut Description

<C-U> / <C-D> Half-page up/down

<C-B> / <C-F> Page up/down

Words

Shortcut Description

b/w Previous/next word

ge / e Previous/next end of word

Line

Shortcut Description

0 (zero) Start of line

^ Start of line (after whitespace)

$ End of line

Character

fc Go forward to character c

Fc Go backward to character c

Document

Shortcut Description

gg First line

G Last line

:{number} Go to line {number}

{number}G Go to line {number}

{number}j Go down {number} lines

{number}k Go up {number} lines

Window

Shortcut Description

2/11
Shortcut Description
zz Center this line

zt Top this line

zb Bottom this line

H Move to top of screen

M Move to middle of screen

L Move to bottom of screen

Search

Shortcut Description

n Next matching search pattern

N Previous match

* Next whole word under cursor

# Previous whole word under cursor

Tab pages

Shortcut Description
:tabedit [file] Edit file in a new tab

:tabfind [file] Open file if exists in new tab

:tabclose Close current tab

:tabs List all tabs

:tabfirst Go to first tab

:tablast Go to last tab

:tabn Go to next tab

:tabp Go to previous tab

Editing

Shortcut Description
a Append

3/11
Shortcut Description

A Append from end of line

i Insert

o Next line

O Previous line

s Delete char and insert

S Delete line and insert

C Delete until end of line and insert

r Replace one character

R Enter Replace mode

u Undo changes

<C-R> Redo changes

Exiting insert mode

Shortcut Description

Esc / <C-[> Exit insert mode

<C-C> Exit insert mode, and abort current command

Clipboard

Shortcut Description
x Delete character

dd Delete line (Cut)

yy Yank line (Copy)

p Paste

P Paste before

"*p / "+p Paste from system clipboard

"*y / "+y Paste to system clipboard

Visual mode

4/11
Shortcut Description
v Enter visual mode

V Enter visual line mode

<C-V> Enter visual block mode

In visual mode

Shortcut Description

d/x Delete selection

s Replace selection

y Yank selection (Copy)

See Operators for other things you can do.

Find & Replace

Shortcut Description

:%s/foo/bar/g Replace foo with bar in whole document

Operators

Usage
Operators let you operate in a range of text (defined by motion). These are performed in
normal mode.

d w

Operator Motion

Operators list

Shortcut Description
d Delete

y Yank (copy)

c Change (delete then insert)

> Indent right

5/11
Shortcut Description

< Indent left

= Autoindent

g~ Swap case

gU Uppercase

gu Lowercase

! Filter through external program

See :help operator

Examples

Combine operators with motions to use them.

Shortcut Description

dd (repeat the letter) Delete current line

dw Delete to next word

db Delete to beginning of word

2dd Delete 2 lines

dip Delete a text object (inside paragraph)

(in visual mode) d Delete selection

See: :help motion.txt

Text objects

Usage

Text objects let you operate (with an operator) in or around text blocks (objects).

v i p

Operator [i]nside or [a]round Text object

Text objects

Shortcut Description

p Paragraph

6/11
Shortcut Description

w Word

s Sentence

[({< A [], (), or {} block

'"` A quoted string

b A block [(

B A block in [{

t A XML tag block

Examples

Shortcut Description

vip Select paragraph

vipipipip Select more

yip Yank inner paragraph

yap Yank paragraph (including newline)

dip Delete inner paragraph

cip Change inner paragraph

See Operators for other things you can do.

Diff

Shortcut Description

gvimdiff file1 file2 [file3] See differences between files, in HMI

Misc

Folds

Shortcut Description

zo / zO Open

zc / zC Close

7/11
Shortcut Description

za / zA Toggle

zv Open folds for this line

zM Close all

zR Open all

zm Fold more (foldlevel += 1)

zr Fold less (foldlevel -= 1)

zx Update folds

Uppercase ones are recursive (eg, zO is open recursively).

Navigation

Shortcut Description

% Nearest/matching {[()]}

[( [{ [< Previous ( or { or <

]) Next

[m Previous method start

[M Previous method end

Jumping

Shortcut Description

<C-O> Go back to previous location

<C-I> Go forward

gf Go to file in cursor

Counters

Shortcut Description

<C-A> Increment number

<C-X> Decrement

Windows

8/11
z{height}<Cr> Resize pane to {height} lines tall

Tags

Shortcut Description

:tag Classname Jump to first definition of Classname

<C-]> Jump to definition

g] See all definitions

<C-T> Go back to last tag

<C-O> <C-I> Back/forward

:tselect Classname Find definitions of Classname

:tjump Classname Find definitions of Classname (auto-select 1st)

Case

Shortcut Description

~ Toggle case (Case => cASE)

gU Uppercase

gu Lowercase

gUU Uppercase current line (also gUgU)

guu Lowercase current line (also gugu)

Do these in visual or normal mode.

Marks

Shortcut Description

`^ Last position of cursor in insert mode

`. Last change in current buffer

`" Last exited current buffer

`0 In last file edited

'' Back to line in current buffer where jumped from

`` Back to position in current buffer where jumped from

9/11
Shortcut Description

`[ To beginning of previously changed or yanked text

`] To end of previously changed or yanked text

`< To beginning of last visual selection

`> To end of last visual selection

ma Mark this cursor position as a

`a Jump to the cursor position a

'a Jump to the beginning of the line with position a

d'a Delete from current line to line of mark a

d`a Delete from current position to position of mark a

c'a Change text from current line to line of a

y`a Yank text from current position to position of a

:marks List all current marks

:delm a Delete mark a

:delm a-d Delete marks a, b, c, d

:delm abc Delete marks a, b, c

Misc

Shortcut Description

. Repeat last command

]p Paste under the current indentation level

:set ff=unix Convert Windows line endings to Unix line endings

Command line

Shortcut Description

<C-R><C-W> Insert current word into the command line

<C-R>" Paste from “ register

<C-X><C-F> Auto-completion of path in insert mode

Text alignment

10/11
:center [width]
:right [width]
:left

See :help formatting

Calculator

Shortcut Description
<C-R>=128/2 Shows the result of the division : ‘64’

Do this in insert mode.

Exiting with an error

:cq
:cquit

Works like :qa, but throws an error. Great for aborting Git commands.

Spell checking

Shortcut Description

:set spell Turn on US English spell checking


spelllang=en_us

]s Move to next misspelled word after the cursor

[s Move to previous misspelled word before the cursor

z= Suggest spellings for the word under/after the cursor

zg Add word to spell list

zw Mark word as bad/mispelling

zu / C-X (Insert Mode) Suggest words for bad word under cursor from
spellfile

11/11

You might also like