Vim is Awesome! A Basic Helpsheet For Getting Started
Vim is a lightweight and power-packed text editor. Use it to write and edit text files straight on your server. While Vim has a steep learning curve if you want to be an expert at it, it's easy to get started for your every day projects, here is how .
What is Vim?
Vim is an extremely powerful and lightweight text editing program that strongly encourages you to write and edit text files using the keyboard only. It contains a number of shortcuts that allow you to navigate your text file and to perform repetitive tasks easily.
Vim also contains a vim.rc file that allows you to add features and little code snippets that your editor will run for you. This can include anything from custom syntax highlighting to allowing keywords to run specific functions, basically anything you can think of.
Another advantage of learning Vim is that it is installed on any Unix-based system, which means that you can edit files directly on your server. Also, as Vim is designed to work on slow terminals, it feels incredibly fast to use.
How to Install Vim
A quick and easy way to install the latest version of Vim is by using Homebrew, which you can use to install most applications to your Unix-based systems easily. You can install it here: https://brew.sh/ Though generally unix-based systems come with Vim pre-installed.
Once you have Homebrew installed, open your terminal and enter the following command to install Vim:
$brew install vim
How to Learn Vim
There is a huge learning curve to learning Vim at an expert level, though it is relatively easy to get started with it for your everyday projects pretty quickly by running vimtutor in the command line.
Vim comes with Vimtutor when you install it, and it consists of 7 short tutorials that help you get to grips with the basic and most commonly used features of Vim. To run Vimtutor, open your terminal and enter the following command:
$vimtutor

The remainder of this post is a reference to the Vimtutor tutorial that is easy to come back to. You may find it useful to use this post as a basic Vim helpsheet after following the tutorial yourself. At the end of this post you will find a list of alternative more advanced/interactive resources for learning Vim.
Lesson 1.1. Moving the cursor
K ↑
J ↓
H ←
L →
Lesson 1.2. Exiting Vim
Enter normal mode:
Exit editor and discard changes: :q!
Lesson 1.3. Text Editing - Deletion
To delete the character under the cursor: x
Lesson 1.4. Text Editing - Insertion
Move cursor to first character after place where you want to insert text.
Go into insertion mode: i
Enter text
<ESC>
Repeat until done.
Lesson 1.5: Text Editing - Appending
Move to line that you want to append text to, doesn't matter where your cursor is in the line.
Go into append mode: A
Enter text to append
<ESC>
Lesson 1.6. Editing a file
Open a file vim [filename]
Edit using commands in previous lessons
Save a file and exit: :wq
Open file again to see changes you saved.
Lesson 1 Summary

Lesson 2.1: Deletion Commands
Enter normal mode:
Move cursor to beginning of word
Delete word: dw
Lesson 2.2: More Deletion Commands
Move cursor to end of line to be deleted
Delete to end of line: d$
Lesson 2.3: On Operators and Motions
d - is a delete operator
motion - what the operartor will operate on
dw - delete until the start of the next word
de - delete to the end of the current word
d$ delete to the end of the line
Lesson 2.4: Using a Count for a Motion
Typing a number before a motion repeats it that many times
2w - move the cursor two words forward
3e - move cursor to the end of the third word forwards
0 - move to the start if the line
Lesson 2.5: Using a Count to Delete More
Typing a number with an operator repeats it that many times
Move cursor to start of first word you want to delete
d2w - delete next two words
d4w - delete next four words
d3w - delete next three words
Lesson 2.6: Operating On Lines
Delete a line: dd
Delete two lines: 2dd
Delete four lines 4dd
Lesson 2.7: The undo Command
Undo last command: u
Undo changes to a whole line: U
Redo: CTRL-R
Lesson 2 Summary

Lesson 3.1: The Put Command
Move cursor to line and delete it: dd
Add line directly below cursor: p
Lesson 3.2: The Replace Command
Move cursor so that is on top of the character you want to replace
Replace new character with n character: rn
Replace new character with a character: ra
Lesson 3.3: The Change Operator
Move cursor to start of word/characters you want to change
Replace with new word characters: ce
Enter replacement word/characters
<ESC>
Lesson 3.4: More Changes Using c
Replace from cursor to end of line: c$
Lesson 3 Summary

Lesson 4.1: Cursor Location and File Status
Show location in file (line number) and file status: CTRL-G
Move to bottom of file: G
Move to start of file: gg
Move to line 506 in file: 506 G
Lesson 4.2: The Search command
Search for character, word or phrase starting from it's first appearance in the file: / [search term]
Search for character, word or phrase starting from it's last appearance in the file: ? [search term]
Search for the same phrase again: n
Search for the same phrase in the opposite direction: N
Go back to where you came from: CTRL-O
Go forward: CTRL-I
Lesson 4.3: Matching Parenthesis Search
Place cursor over parenthesis or bracket
Go to matching bracket: %
Lesson 4.4: The Substitute Command
Change the first occurrence of the word 'thee' to 'the' on the line with the cursor: :s/thee/the
Change all occurrences of the word 'thee' to 'the' on the line with the cursor: :s/thee/the/g
Change every occurrence of 'thee' to 'the' between the lines 33 and 74: :33,74s/thee/the/g
Change every occurrence in the whole file: :%s/old/new/g
Find every occurrence in the whole file, and prompt user to decide whether to substitute or not: :%s/old/new/gc
Lesson 4 Summary

Lesson 5.1: How to Execute an External Command
Enter an external command as though you are typing in your command prompt: :! followed by command.
List files in directory: :!ls or :!dir
Finish command and go back to file:
Lesson 5.2: More on Writing Files
Save file under name TEST: :w TEST
Remove/Delete file named test: :!rm TEST
Lesson 5.3: Selecting Text to Write
Highlight text: Press v and move the cursor to highlight text
Press : then w FILENAME to save highlighted text to a new file with a new filename.
Lesson 5.4: Retrieving and Merging Files
Add contents of file just below where your cursor is: :r FILENAME
Add output of command line statement just below where your cursor is: :r !ls
Lesson 5 Summary

Lesson 6: The Open Command
Move cursor to a line, to start a new line below it: o
Move cursor to a line, to start a new line above it: O
Lesson 6.2: The Append Command
Insert text after the cursor: a
Lesson 6.3: Another Way To Replace
Move cursor over the first character you want to replace, then to start replacing characters: R
<ESC>
Lesson 6.4: Copy and Paste Text
Highlight text: v and move cursor
Copy highlighted text: y
Move cursor to end of next line: $j
Paste copied highlighted text: p
<ESC>
Lesson 6.5: Set Option
Search for a word by entering: /word
Ignore case in word search: :set ic
/word
Ignore case for just one command: /word\c
Highlight all matching words: :set hls is
Disable ignore case: :set noic
Disable highlight: :nohlsearch
Lesson 6 Summary

Lesson 7.1: Getting Help
Go to the vim help text file: :help
Quit vim text file: :q
Get definition of commands: :help w, :help c_CTRL-D, :help insert-index, :help user-manual
Lesson 7.2: Create a Startup Script
Start editing the vimrc file: :e ~/.vimrc
Read the vmrc file contents: :r $VIMRUNTIME/vimrc_example.vim
Write the file: :w
Get more help with running startup feature scripts: :help vimrc-intro
Lesson 7.3: Completion
Make sure vim is in no compatible mode: no cp
Start typing a command: :e
Show list of commands that start with :e: CTRL-D
Autocomplete command:
Lesson 7 Summary

Further reading recommended by vimtutor
User Manual: :help user-manual
Vim - Vi Improved book by Steve Qualline (New Riders Publisher)
Learning the Vi Editor by Linda Lamb (more about Vi than Vim but still useful)
More Advanced/Interactive Resources For Learning Vim
Vim Adventures: Zelda Meets Text editing Game