Skip to content

Instantly share code, notes, and snippets.

@madyanalj
Last active January 1, 2021 08:15
Show Gist options
  • Save madyanalj/b0fa6518d779d06701dcf5f5c871b90c to your computer and use it in GitHub Desktop.
Save madyanalj/b0fa6518d779d06701dcf5f5c871b90c to your computer and use it in GitHub Desktop.
Vim As Your Editor Cheat Sheet

Vim As Your Editor Cheat Sheet 🤓

This is a cheat sheet for the Vim As Your Editor series by ThePrimeagen

Part 1 - The Basic Vim Movements

j and k - move down and up

h and l - move left and right

w - move to the start of the next word

b - move to the start of the current/last word


yy - yank (copy) line

p - paste line under

dd - delete line

u - undo


SHIFT+V - enter visual line mode (aka highlight line)

y - copy highlighted text

d - delete highlighted text

v - enter visual mode (aka highlight current character)


i - enter insert mode (to insert text like in a normal text editor)


ESC - exit insert/visual mode

CTRL+C - ditto

CTRL+[ - ditto


dw - delete word

dj - delete current line and line below it

yw - yank word

yj - yank current line and line below it


:w - save file

Part 2 - Foundation for Speed

o - insert line below

SHIFT+O - insert line above

SHIFT+P - paste line above


a - enter insert mode after current character

SHIFT+I - enter insert mode before current line

SHIFT+A - enter insert mode after current line


/ - start searching

n - jump to next search result

SHIFT+N - jump to previous search result

* - search for next occurrence of current word

# - search for previous occurrence of current word

Part 3 - Horizontal Speed

f<char> - move forwards to character specified

t<char> - move forwards to one character before one specified

SHIFT+F<char> - move backwards to character specified

SHIFT+T<char> - move backwards to one character after one specified

; - repeat movement


x - delete character

s - replace character


cw - replace word

dt<char> - delete until one character before one specified

ct<char> - replace until one character before one specified


SHIFT+D - delete rest of line

SHIFT+C - replace rest of line

SHIFT+X - replace line

Part 4 - Vertical Domination

gg - move to top of file

SHIFT+G - move to bottom of file


:<line> - move to line

<line>g - ditto

<number>j - move down multiple times


} - move to next paragraph

{ - move to previous paragraph

CTRL-D - move 1/2 page downwards

CTRL-U - move 1/2 page upwards


% - move to matching bracket


di{ - delete content of brackets

d<number>i{ - delete content of multiple surrounding brackets

da{ - delete enclosing brackets and their content

Part 5 - Going Full Vim - File Movements, Buffers, Splits

:e src/**/<tab> - find and open file


CTRL+p - fuzzy file search (requires fzf)

CTRL+^ - switch between two files

CTRL+o - move backwards through history

CTRL+i - move forwards through history


mh - set local mark h

'h - move to local mark h

mH - set global mark H

'H - move to global mark H


CTRL+w o - close all other buffers

CTRL+w v - split vertically

CTRL+w s - split horiSontally

:resize 10 - set split size to 10 rows

:vertical resize 10 - set split size to 10 columns

CTRL+w = - set split size evenly

CTRL+w r - rotate split buffers

CTRL+w SHIFT+H - switch between vertical and horizontal split

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment