Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

Vim by Mind Map: Vim
0.0 stars - 0 reviews range from 0 to 5

Vim

Cursor Movement

h,j,k,l

ctrl-f = page up

ctrl-b = page down

% = jump to matching brace

w = jump to end of words (punctuation)

W = jump by words

e = jump to end of words (punctuation)

E = jump to end of words

b = jump backward by words (punctuation)

B = jump backward by words

0 = start of line

^ = first character of line

$ = end of line

gg = go to first line

gd = go to def of the function or var under the cursor

[N]G = go to line N or last line

fx = move the cursor forward to the next occurrence of character x on the current line

; = repeat last f command

tx = like fx but move right before the character

Fx = move the cursor backwards to the next occurrence of x

) ,(= move the cursor to next, previous sentence

* = Read the string under the cursor and go to next occurrence

# = same as * but goes to previous occurrence

`. = Go to line last edited

Screenwise

H = move the cursor to the Highest line on the screen

M = move the cursor to the Middle of the screen

L = move the cursor to the Lowest line of the screen

Bookmarks

ma = Make a bookmark name a at the current cursor position

`a = Go to bookmark a (backtick, not single quote)

Insert Mode

i = insert mode at cursor

I = insert at the beginning of line

a = append after the cursor

A = append at the end of the line

o = open blank line below current line

O = open blank line above current line

Esc = exit insert mode

Completions (type a few chars then)

ctrl-n = next completion

ctrl-p = previous completion

Editing

r = replace a single character (!insert mode)

J = join line below to the current line

cc = change an entire line

cw = change to the end of word

c$ = change to the end of line

s = delete character at cursor and substitute text

S = delete line at cursor and substitute text

xp = transpose to letters

u = undo

ctrl-r = redo

. = repeat last command

~ = switch case

g~iw = switch case of current word

gUiw = make current word uppercase

guiw = make current word lowercase

>> = indent line one column right

<< = indent line one column left

== = auto-indent current line

Cut and Paste

dd = delete (cut) a line

dw = delete the current word

x = delete current character

X = delete previous character

D = delete to end of line

yy = yank (copy a line)

2yy = yank (copy) 2 lines

yw = yank word

y$ = yank to end of line

p = put the clipboard after cursor/current line

P = put the clipboard before the cursor/current line

]p = put the clipboard at the proper indentation

"a = use a register named a for the next yank/paste operation

Visual Mode

Marking Text

v = start visual mode

V = start linewise visual mode

ctrl-v = start blockwise visual mode

o = move to other end of marked area

U = upper case of marked area

O = move to Other corner of block

aw = mark a word

ab = a block with parens (braces)

aB = a block with brackets (curly braces)

ib = inner () block

iB =inner {} block

Commands

> = shift right

< = shift left

y = yank

d = delete

~ = switch case

Search/Replace

/pattern = search for pattern

?pattern = search backwards for pattern

n = repeat search in same direction

N = repeat search in opposite direction

:s/old/new/g = replace all old throughout file

:s/old/new/gc = replace all old with new and confirm each one

Exiting

:w = save

:wq = save and quit

:x = save and quit

:q = quit, but failed if unsaved

:q! = quit

Multi-File

:e filename = edit a file in a new buffer

:bn = go to next buffer

:bd = delete a buffer (close file)

:sp fn = open a file in new buffer and split window

ctrl w - window commands

ctrl-w s = split window

ctrl-w w = switch windows

ctrl-w q = quit a window

ctrl-w v = split windows vertically

Tab Commands

:tabe fn = edit file in new tab

gt = next tab

gT = previous tabs

:tabr = First tab

:tabl = Last tab

:tabm [N] = move current tab after tab N

Macros

qa = start recording a macro in register a

q = end recording

@a = replay macro in register a