Xenonminer's Website

Vim checklist

This is a easy access vim checklist that has examples along with the commands and description.

Normal Mode

When entering into vim, you enter normal mode. Command mode is where most of the commands in vim will be used.

Command Description Example
Esc Entering normal mode (if not already in)  
:w : write to the file
:q : quit the file if nothing written
:q! : force quit even with written text
quitting/writing to vim  
:! Running shell commands from vim  
:set number : normal line numbers<>:set relativenumber : line numbers are relative Make vim have line numbers  
Ex: 5 (goes 5 lines down) Typing a number x before a vim command makes you do that command x many times  
h : move left
j : move down
k : move up
l : move right
Moving around (arrow keys also works)  
u : undo (undoes whatever you just did in the last insert mode only)
Ctrl + r : redo
undo/redo previous actions  
dd : delete entire line
Shift + d : delete the rest of the line from where cursor is
Deleting text  
yy/Shift + y Copy entire line  
cc : Change the line (delete but also puts you in insert mode after)
Shift + c : Changes the rest of the line (changes from where cursor is to the end of the line)
Changing in vim (like delete but leaves you in insert mode after)  
r Replace character cursor is on  
p : paste text
Shift + p : paste text on line above cursor position
Pasting text  
w : move forward a word (this consideres a word separated by hyphens or other searators as well besides spaces)
Shift + w : move forward a word (only delimiter is a space)
b : move backward a word (same conditions as moving forward)
Shift + b : move backward a word (same conditions as moving forward)
e : jump to the end of the current word
0 : go to the beginning of the line (without entering insert mode)
$ : go to the end of line (without entering insert mode)
Moving across text  
dw : deletes a word in front of cursor position
(number x)dw : deletes x many words in front
d0 : delete everything until the start of line
d$ : delete everything until end of line
Combining vim commands examples  
These all can be ci, di<something, yi diw : deletes the word
ciw : changes the word
yiw : copy the word you are inside of
di" : deletes everything inside two quotation marks
ci" : changes everything inside two quotation marks
yi" : copy everything inside quotes
Options when inside a word (cursor is like in the l part of hello)  
% : go back and forth across a pair of chars (() [] {})
Only in current line
  t : jump to the right before the char in the line
  f : jump to on the char in the line
  Shift + t : same as t but backwards
  Shift + f : same as f but backwards
gg : jump to beginning of file
Shift + g : jump to end of file
+ Shift + g : jump to line number
Jumping/Finding text  
» : Shift text to the right
« : Shift text to the left
If in visual mode and selecting text then only have to do once (> or <)
== : indent line correctly (good for programming)
gg=Shift + g : If the entire file is badly indented
Indeting/Shifting  
/(search term) : jumps to next occurrence of (search term) from where cursor is at
?(search term) : jumpts to previous occurrence of (search term) from where cursor is at
n : jumps to next occurrence of (search term)
Shift + n : jumpts to previous occurrence of (search term)
Selected text in visual mode
# : goes to previous term of the highlighted text
* : goes to next term of the highlighted text
Searching/Replacing  
m(character) : creates a waypoint to that line
‘(character) : goes to that waypoint
:marks : view all waypoints
Vim waypoints (like a portal back to a certain registered waypoint) (can also be through different files)  
zz Center line to the middle of screen  
. : execute command that was last run Repeat command  
:reg : pull up the list of all the saved content
“(char)p : paste a certain text from register or (name)p because the Name is the title of it
(name)(command) : does some command to that line in the register
Vim registers  

Insert Mode

Insert mode will be used to do all the typing/programming.

Command Description Example
i : type before where the highlighted cursor
a : type after the highlighted cursor
o : create a new line below and enter insert mode
Shift + i : go to beginning of current line and enter insert mode
Shift + a : go to end of current line and enter insert mode
Shift + o : create a new line above and enter insert mode
Entering Insert Mode  

Visual Mode

Visual mode will be used to do different things to characters/lines of text.

Command Description Example
v Enter Visual Mode  
Arrow keys Select text  
d Delete selected text  
c Deletes selected text and enters insert mode where cursor is }
y : yank/copy the text
p (in normal mode) : paste the text
Copy/Paste selected text  
Shift + v Visual Line mode (only select lines)  
Ctrl + v Visual Block mode (select by columns)  

Other Useful Vim tricks

These are some other random useful tricks that you might want to know when using vim.

Trick Description Example
~/.vimrc Vim config file so you don’t have to type configs everytime