Several cheat-sheets of different topics in .md format. Checkout the Github pages version.
Action | command | Details |
---|---|---|
Delete and insert | cc | Deletes current line and changes to insert mode |
Delete and insert | C | Deletes from current position to end of line and changes to insert mode |
Delete and insert | cw | Deletes current word and changes to insert mode |
Indentation | == | Autoindents current line |
Indentation | =G | Autoindents whole file if cursor is in line 1 |
Insert text | i | Insert text in the current position |
Insert text | shift+A | Insert text at the end of the current line |
Insert text | I | Insert text at the beginning of current line |
Line numbers | :set number | Shows line numbers |
Move cursor | w | Moves the cursor forward jumping words |
Move cursor | b | Moves the cursor backwards jumping words |
Move cursor | ^ | Moves the cursor to the beginning of current line |
Move cursor | $ | Moves the cursor to the end of current line |
Move cursor | gg | Moves the cursor to the beginning of the document |
Move cursor | G | Moves the cursor to the end of the document |
Move cursor | Ctrl + w [hjkl] | Moves the cursor between split panes |
Open file | :vsp filename | Makes a vertical split and opens file filename |
Open file | :sp filename | Makes a horizontal split and opens file filename |
Search and replace | :s/foo/bar/ | Seaches word “foo” and replaces with “bar”: first occurrence in current line |
Search and replace | :s/foo/bar/g | Seaches word “foo” and replaces with “bar”: all occurrences in current line |
Search and replace | :%s/foo/bar/g | Seaches word “foo” and replaces with “bar”: all occurrence in all document |
Search and replace | :%s/foo/bar/gc | Seaches word “foo” and replaces with “bar”: all occurrence in all document asking you first in each case |
Repeat | . | Repeats the last action |
Run shell command | :! command | Allows you to run a shell command without closing vim first, e.g., :! ls -lrt |
Default vim settings are stored in a file called .vimrc
which usually is contained in the home directory.
A possible set of useful settings inside the .vimrc
file could be:
set hlsearch # highlight search results
set incsearch # incremental highlight search results
set ignorecase # ignore case when searching
set relativenumber # show relative line numbers
set number # to show current line number
inoremap jj <Esc> # to exit insert mode typing "jj" instead of Esc key
these settings can be activated temporarily inside the document just writing the commands with a semicolon first, e.g., :set relativenumber
, :set norelativenumber
, :set number
, :set nonumber
…