based on https://www.geeksforgeeks.org/vi-editor-unix/
================================
ESC to move to 'Command mode'
: to move to 'Escape mode'
iIoOaA to move to 'Insert mode'
================================
NAVIGATION
k : Moves the cursor up one line.
j : Moves the cursor down one line.
h : Moves the cursor to the left one character position.
l : Moves the cursor to the right one character position.
0 or | : Positions cursor at beginning of line.
$ : Positions cursor at end of line.
W : Positions cursor to the next word.
B : Positions cursor to previous word.
( : Positions cursor to beginning of current sentence.
) : Positions cursor to beginning of next sentence.
H : Move to top of screen.
nH : Moves to nth line from the top of the screen.
M : Move to middle of screen.
L : Move to bottom of screen.
=================================
ENTERING AND REPLACING TEXT
i : Inserts text before current cursor location.
I : Inserts text at beginning of current line.
a : Inserts text after current cursor location.
A : Inserts text at end of current line.
o : Creates a new line for text entry below cursor location.
O : Creates a new line for text entry above cursor location.
r : Replace single character under the cursor with the next character typed.
R : Replaces text from the cursor to right.
s : Replaces single character under the cursor with any number of characters.
S :Replaces entire line.
=================================
DELETING
x : Deletes the character under the cursor location.
X : Deletes the character before the cursor location.
Dd : Deletes the line the cursor is on.
=================================
COPY & PASTE
Yy : Copies the current line.
9yy : Yank current line and 9 lines below.
p : Puts the copied text after the cursor.
P : Puts the yanked text before the cursor.
=================================
ESCAPE MODE
q : Quit
q! : Quit without saving changes i.e. discard changes.
wq : Write and quit (save and exit).
w fileName : Write to file called fileName (save as).