Eight ways to enter Insert mode, each with a job
Vim doesn't have one "start typing" key — it has a small family of them, each placing your cursor at a different position. The difference between i and a looks trivial; over a year of editing it adds up to thousands of saved motions.
The eight entries
i— insert before the cursor.a— insert after the cursor ("append").I— insert at the first non-blank character of the line.A— insert at the end of the line.o— open a new line below and start inserting.O— open a new line above and start inserting.s— delete the character under the cursor and start inserting.S— delete the entire line and start inserting.
Returning to Normal mode
The classic exit is Esc. Ctrl-[ does exactly the same thing and is closer to the home row on most layouts. Ctrl-c also exits but skips abbreviation expansion — useful when you've defined Insert-mode abbreviations and you want to not trigger them.
jj or jk in Insert mode to Esc. Two adjacent home-row keys instead of a stretch to the corner. You almost never type jj in real code, so the false-positive rate is near zero.Why this matters more than it sounds
The difference between A; and $a; is one keystroke. The difference between o and $a<Enter> is two. These savings happen thousands of times a day. Vim feels fast not because of any one trick, but because every common operation has a one-key entry path designed in.