..and changing your life forever
Mac - Download latest macvim package
# Ubuntu / Debian
$ sudo apt-get update
$ sudo apt-get install vim-gnome
# Fedora / Red Hat
$ dnf -y update
$ dnf -y install vim-enhanced
# Arch Linux
$ sudo pacman -Sy
$ sudo pacman -S gvim
Linux - Use your distro package manager
We use vim-gnome variants for clipboard functionality by default
In any Mac or Linux environment with Vim installed you can open Vim in several ways:
# To start vim with no file to open
$ vim
# To open a text file in vim
$ vim somefile.py
# To create a new text file and open it
# NOTE: File will not truly exist until you save inside vim
$ vim somefile.py
# To open a file in another location
$ vim /home/jaywon/code/magic/SpellCaster.js
Normal mode is the mode where you can navigate your cursor around the document without inserting any text with those key commands
Also known as Dora mode by vim l33t
The reality you've lived in so far in your text editing life. Insert mode has been YOUR normal mode until now.
Visual mode is for more advanced features of editing a document to highlight and operate on larger sections of text.
IIf you're ever not sure what mode you're in just look at your lower left hand corner of Vim.
esc
When in doubt, don't freak out.....escape!!!
Navigation
aka. Death of the Arrow Keys
h - move cursor left
j - move cursor down
k - move cursor up
l - move cursor right
You will see your cursor as a blinking box
Word Navigation
w - jump to the next word (no special characters)
W - jump to the next word (with special characters)
b - jump to the previous word (no special characters)
B - jump to the previous word (with special characters)
e - jump to the end of the word (no special characters)
E- jump to the end of the word (with special characters)
[wWbB] - Go to start of word
[eE] - Go to end of word
Power Move Navigation
0 - Go to beginning of line
$ - Go to end of line
gg - Go to beginning of document
G - Go to end of document
5gg or 5G - Go to line 5 of document
Ctrl + f - Go forward one page of document
Ctrl + b - Go back one page of document
Saving Files / Exiting Vim
:w - Save changes to file - SAVE OFTEN
:x - Save changes to file and close the file
:q - Close file - Only works if there are no unsaved changes
:q! - Close file and don't save changes
u - Undo last change
Ctrl+r - Redo last change
Where do I start typing?
i - Insert character before the cursor
I - Insert at the beginning of line
a- Insert one character after the cursor
A - Insert at end of line
o - Create a new line after cursor line for inserting
O - Create a new line before cursor line for inserting
esc - BAIL BAIL BAIL - BACK TO SAFETY(Normal Mode)
Working with larger chunks of text
v - Start visual mode at the cursor and select text with navigation commands
V - Start visual mode in line mode aka. select the entire line
y - yank or copy the highlighted text
d - delete or cut highlighted text
p - put or paste yanked or deleted text after cursor
P - put or paste yanked or deleted text before cursor
Vim Cheat Sheet
Vim Adventures - Practice Basic Commands
$ vimtutor
Vim Tutor Command Line Practice
Jack's Lament - Practice Text Commands
$ curl -o jackslament.txt https://gist.github.com/jaywon/daf628da28c1a30c9f289a82d3e40350
$ vim jackslament.txt