vi is a family of text mode-oriented text editors which share certain characteristics, such as methods of invocation from the operating system command interpreter, and characteristic user interface features. The portable subset of the behavior of vi programs, and the ex editor language supported within these programs, is described by (and thus standardized by) the Single Unix Specification and posix.
vi family is required for in cases when graphic environment with other editors available is not present, has failed to boot, is slow to access remotely or avoided just for that edit as the editor must be launched under root rights.
Developers and administrators who know vi may choose to use it as the main editor.
STARTING vi vi filename edit a file named "filename" vi newfile create a new file named "newfile" ENTERING TEXT i insert text left of cursor a append text right of cursor MOVING THE CURSOR h left one space j down one line k up one line l right one space BASIC EDITING x delete character nx delete n characters X delete character before cursor dw delete word ndw delete n words dd delete line ndd delete n lines D delete characters from cursor to end of line r replace character under cursor cw replace a word ncw replace n words C change text from cursor to end of line o insert blank line below cursor (ready for insertion) O insert blank line above cursor (ready for insertion) J join succeeding line to current cursor line nJ join n succeeding lines to current cursor line u undo last change U restore current line MOVING AROUND IN A FILE w forward word by word b backward word by word $ to end of line 0 (zero) to beginning of line H to top line of screen M to middle line of screen L to last line of screen G to last line of file 1G to first line of file <Control>f scroll forward one screen <Control>b scroll backward one screen <Control>d scroll down one-half screen <Control>u scroll up one-half screen n repeat last search in same direction N repeat last search in opposite direction CLOSING AND SAVING A FILE ZZ save file and then quit :w save file :q! discard changes and quit file
See also vi.stackexchange, a stackexchange site dedicated to vi/vim.