--- layout: page author: Alessandro Luini category-page: advanced category-title: Advanced commands tags: advanced text editor hell quit help escape sos title: vi previous-page: pages/cmd/advanced/tr.html next-page: pages/cmd/advanced/wc.html ---
The default editor that comes with the UNIX operating system is called
vi
(visual editor).
The UNIX vi editor is a full screen editor and has two modes of operation:
In the command mode, every character typed is a command that does something to the text file being edited; a character typed in the command mode may even cause the vi editor to enter the insert mode.
In the insert mode, every character typed is added to the text in the file; pressing the {Esc} (Escape) key turns off the Insert mode.
While there are a number of vi commands, just a handful of these is usually sufficient for beginning vi users. To assist such users, this Web page contains a sampling of basic vi commands. The most basic and useful commands are marked with an asterisk (* or star) in the tables below. With practice, these commands should become automatic.
Both UNIX and vi are case-sensitive. Be sure not to use a capital letter in place of a lowercase letter; the results will not be what you expect.
vi
To use vi on a file, type in vi filename. If the file named filename exists, then the first page (or screen) of the file will be displayed; if the file does not exist, then an empty file and screen are created into which you may enter text.
vi filename.txt
vi
:qQuit vi without saving
:xQuit vi, writing out modified file to file named in original invocationt modified file to file named in origin.
:wqQuit vi, writing out modified file to file named in original invocation.
:q!Quit vi even though latest changes have not been saved for this vi call.
-r
flag to recover a file that was being edited when a crash
happened.