Skip to content

roshanlam/Vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

Vim

Disclaimer: This cheatsheet is made for me to use. The reason I have this public is so someone else find it useful.

Command Description
:w write (save) the file, but don't exit
:w !sudo tee % write out the current file using sudo
:wq or :x or ZZ write (save) and quit
:q quit (fails if there are unsaved changes)
:q! or ZQ quit and throw away unsaved changes
:help keyword open help for keyword
:o file open file
:saveas file save file as
:close close current pane
h move cursor left
j move cursor down
k move cursor up
l move cursor right
H move to top of screen
M move to middle of screen
L move to bottom of screen
r replace a single character
J join line below to the current one
cc change (replace) entire line
cw change (replace) to the start of the next word
ce change (replace) to the end of the next word
cb change (replace) to the start of the previous word
c0 change (replace) to the start of the line
c$ change (replace) to the end of the line
s delete character and substitute text
S delete line and substitute text (same as cc)
xp transpose two letters (delete and paste)
. repeat last command
u undo
Ctrl + r redo
yy yank (copy) a line
2yy yank (copy) 2 lines
yw yank (copy) the characters of the word from the cursor position to the start of the next word
y$ yank (copy) to end of line
p put (paste) the clipboard after cursor
P put (paste) before cursor
dd delete (cut) a line
2dd delete (cut) 2 lines
dw delete (cut) the characters of the word from the cursor position to the start of the next word
D delete (cut) to the end of the line
d$ delete (cut) to the end of the line
d^ delete (cut) to the first non-blank character of the line
d0 delete (cut) to the begining of the line
x delete (cut) character
:1,$d delete all the lines
:sp file open a file in a new buffer and split window
:vsp file open a file in a new buffer and vertically split window
Ctrl + ws split window
Ctrl + ww switch windows
Ctrl + wq quit a window
Ctrl + wv split window vertically
Ctrl + wh move cursor to the left window (vertical split)
Ctrl + wl move cursor to the right window (vertical split)
Ctrl + wj move cursor to the window below (horizontal split)
Ctrl + wk move cursor to the window above (horizontal split)
:tabnew or :tabnew file open a file in a new tab
Ctrl + wT move the current split window into its own tab
gt or :tabnext or :tabn move to the next tab
gT or :tabprev or :tabp move to the previous tab
gt move to tab
:tabmove move current tab to the th position (indexed from 0)
:tabclose or :tabc close the current tab and all its windows
:tabonly or :tabo close all tabs except for the current one
:tabdo command run the command on all tabs (e.g. :tabdo q - closes all opened tabs)