Editing a File
EMAC OE provides simple text editing capabilities for making changes to configuration files and scripts. Major editing tasks should be performed on a desktop system first, copying the desired files back to the target board. There are two text editors available on standard EMAC OE builds: vi
and nano
. vi
is a very common text editor available on almost every Unix-like OS. nano
is a more conventional text editor that can be easier to use for those not familiar with vi
.
Contents
Using Vi
The key to using vi
is understanding the two modes of operation: command mode and insert mode. Command mode is used for navigating the text, search and replace, pasting, saving, and running other commands. Insert mode is used for simply inserting text into the document. The editor will start in command mode. To switch from command mode to insert mode, type "i". To switch from insert mode to command mode, press ESC. Any keys pressed after switching to command mode will be interpreted as vi
commands. Some of the most important commands are those for saving and exiting, such as :wq
to save and exit. See Table 5 below for a description of some common vi commands.
Table 5: Common Vi Commands | |
---|---|
Command | Description |
:wq |
Save changes (write) and exit |
:q! |
Discard changes (if any since last write) and exit |
:q |
Exit only if no unsaved changes |
x |
Delete character under cursor |
dd |
Delete current line |
yy |
Yank (copy) current line |
p |
Put (paste) after position |
:%s/string/replace/g |
Replace all occurrences of "string" with "replace" |
Note that the version of vi supplied with the standard EMAC OE build is part of busybox and does not have all of the same functionality as a full vi implementation. You will find some commands that are not implemented in this version. |
To open a file using vi
simply type the command vi
followed by the file name. For example, to edit the network interfaces configuration, you would run the command:
root@emac-oe:~# vi /etc/network/interfaces
For more information about the busybox version of vi
, see the following links: Learning the vi editor, Busybox vi tutorial
Using Nano
nano
has a smaller learning curve than vi
, but is much less powerful. People looking to edit files quickly, without much learning curve, may wish to start with nano
.
After opening a file with nano
, the available commands for working with the file will be displayed at the bottom of the screen as shown below:
^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos ^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text ^T To Spell
For example, to save the file, press Ctrl-O. To exit, press Ctrl-X. The nano
editor is always in insertion mode, so any keys typed that are not part of a control sequence will be placed in the file as text. You do not need to press any escape code to switch between entering text and command mode, as is required with vi
. To edit a file with nano
, pass the name of the file as an argument to the nano
command. For example:
root@emac-oe:~# nano /etc/network/interfaces