Skip to content

Instantly share code, notes, and snippets.

@byshen
Forked from napcs/vim cheatsheet.md
Last active September 27, 2018 06:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save byshen/2444d015c533805e2c729b4a4f37c6c0 to your computer and use it in GitHub Desktop.
Save byshen/2444d015c533805e2c729b4a4f37c6c0 to your computer and use it in GitHub Desktop.

Vim Cheatsheet

Generally helpful stuff

Open a file for editing             :e path/to/file.txt
Return to Normal mode               ESC   or <CTRL>+C

Navigating around text

You have to be in Normal mode. Use ESC to get out of Visual, Replace, or Insert mode.

(cursor left)                       h
(cursor down)                       j
(cursor up)                         k
(cursor right)                      l
next word                           e
Jump to the first line              gg
Jump to the last line               G
Jump to a line number               lineno shift + g

Entering Text

Insert text before cursor               i
Insert text after cursor                a

Working with multiple files

Open a file in a horizontal split   :sp path/to/file.txt
Open a file in a vertical split     :vsp path/to/file.txt
Move to a split window page         <CTRL>+w and a direction key (h, j, k, or l)
Move to next window pane            <CTRL>w w
Make selected pane bigger           CTRL>w +  (yes, you need the shift key for the plus)
Make selected pane smaller          <CTRL>w -

Searching

Search for a word                           /<word>
Go to next match                            n
Find and replace on line                    :s/<find>/<replace>
Find and replace globally                   :%s/<find>/<replace>//gc
Go to first quote, replace text in quotes:  ci"

Manipulating text

cut the current line                dd
copy the current line               yy
paste below current line            p
paste above current line            P
Remove the character under cursor   x
Remove the character before cursor  X
Delete the word under cursor        de
Delete to the end of the line       d$

Remove five lines starting here     5dd
Copy five lines starting here       5yy 

indent this line                    >>
indent five lines starting here     5>>

Replace mode (overtype)             r

Visual Advanced selection

Visual mode                         v
Visual Line mode                    V
Visual Block mode                   <CTRL>v

Working with NERDTree

Open the NERDTree                   :NERDTree
Toggle the NERDTree on and off      :NERDTreeToggle
Open selected file                  <ENTER>
Open selected file in horiz. split  i
Open selected file in vert. split   v
File menu                           m
Help                                ?

Commands:

Run a command                           :!<command>
Open a shell                            :sh

Tasks

Combine Visual mode and cursor movement + Yank to copy or delete blocks

Remove 5 lines                      Vjjjdd  (Visual Line mode, highlights line 1, jj to go Down two lines, dd to delete)

Create a custom Map Leader key to make it easy to run your own commands. We'll make it easy to show and hide NERDtree with a simple shortcut. Add these two lines to your .vimrc file:

let mapleader = ","  
map <Leader>d :NERDTreeToggle<CR> :set number<CR>   

With that, you can open and close NERDTree with

,d

in Normal mode.

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