8.7 Editing Texts

In order to edit files from the command line, you will get to know the vi editor sooner or later. vi is a default editor which can be found on nearly every UNIX/Linux system. It can run several operating modes in which the keys you press have different functions. This does not make it very easy for beginners, but you should know at least the most basic operations with vi. There may be situations where no other editor than vi is available.

Basically, vi makes use of three operating modes:

command mode

In this mode, vi accepts certain key combinations as commands. Simple tasks such as searching words or deleting a line can be executed.

insert mode

In this mode, you can write normal text.

extended mode

This mode is also known as colon mode as you have to enter a colon to switch to this mode. In this mode, vi can execute also more complex tasks such as searching and replacing text.

In the following (very simple) example, you will learn how to open and edit a file with vi, how to save your changes and quit vi.

8.7.1 Example: Editing with vi

NOTE: Display of Keys

In the following, find several commands that you can enter in vi by just pressing keys. These appear in uppercase as on a keyboard. If you need to enter a key in uppercase, this is stated explicitly by showing a key combination including the Shift key.

  1. To create and open a new file with vi, enter

    vi textfile.txt

    By default, vi opens in command mode in which you cannot enter text.

  2. Press I to switch to insert mode. The bottom line changes and indicates that you now can insert text.

  3. Write some sentences. If you want to insert a new line, first press Esc to switch back to command mode. Press O to insert a new line and to switch to insert mode again.

  4. In the insert mode, you can edit the text with the arrow keys and with Del.

  5. To leave vi, press Esc to switch to command mode again. Then press : which takes you to the extended mode. The bottom line now shows a colon.

  6. To leave vi and save your changes, type wq (w for write; q for quit) and press Enter. If you want to save the file under a different name, type w filename and press Enter.

    To leave vi without saving, type q! instead and press Enter.