Vi IMproved, a programmer's text editor, provides several modes for different kinds of text manipulation. Pressing i enters edit mode. Esc goes back to normal mode, which doesn't allow regular text insertion.
# To open a file:
vim <file>
# To enter text editing mode (insert mode):
<Esc>i
# To copy ("yank") or cut ("delete") the current line (paste it with 'P'):
<Esc><yy|dd>
# To undo the last operation:
<Esc>u
# To search for a pattern in the file (press 'n'/'N' to go to next/previous match):
<Esc>/<search_pattern><Enter>
# To perform a regex substitution in the whole file:
<Esc>:%s/<pattern>/<replacement>/g<Enter>
# To save (write) the file, and quit:
<Esc>:wq<Enter>
# To quit without saving:
<Esc>:q!<Enter>