For People New to Both FreeBSD and UNIX®
Prev |  | Next

# 5 Editing Text

To configure your system, you need to edit text files. Most of them will be in the `/etc` directory; and you will need to `su` to `root` to be able to change them. You can use the easy `ee`, but in the long run the text editor `vi` is worth learning. There is an excellent tutorial on vi in `/usr/src/contrib/nvi/docs/tutorial`, if you have the system sources installed.

Before you edit a file, you should probably back it up. Suppose you want to edit `/etc/rc.conf`. You could just use `cd /etc` to get to the `/etc` directory and do:

    # cp rc.conf rc.conf.orig

This would copy `rc.conf` to `rc.conf.orig`, and you could later copy `rc.conf.orig` to `rc.conf` to recover the original. But even better would be moving (renaming) and then copying back:

    # mv rc.conf rc.conf.orig
    # cp rc.conf.orig rc.conf

because the `mv` command preserves the original date and owner of the file. You can now edit `rc.conf`. If you want the original back, you would then `mv rc.conf rc.conf.myedit` (assuming you want to preserve your edited version) and then

    # mv rc.conf.orig rc.conf

to put things back the way they were.

To edit a file, type

    # vi filename

Move through the text with the arrow keys. Esc (the escape key) puts `vi` in command mode. Here are some commands:

`x`

  delete letter the cursor is on

`dd`

  delete the entire line (even if it wraps on the screen)

`i`

  insert text at the cursor

`a`

  insert text after the cursor

Once you type `i` or `a`, you can enter text. `Esc` puts you back in command mode where you can type

`:w`

  to write your changes to disk and continue editing

`:wq`

  to write and quit

`:q!`

  to quit without saving changes

`/`text``

  to move the cursor to `text`; `/Enter` (the enter key) to find the next instance of `text`.

`G`

  to go to the end of the file

``n`G`

  to go to line `n` in the file, where `n` is a number

Ctrl-L

  to redraw the screen

Ctrl-b and Ctrl-f

  go back and forward a screen, as they do with `more` and `view`.

Practice with `vi` in your home directory by creating a new file with `vi `filename`` and adding and deleting text, saving the file, and calling it up again. `vi` delivers some surprises because it is really quite complex, and sometimes you will inadvertently issue a command that will do something you do not expect. (Some people actually like `vi`—it is more powerful than DOS EDIT—find out about the `:r` command.) Use Esc one or more times to be sure you are in command mode and proceed from there when it gives you trouble, save often with `:w`, and use `:q!` to get out and start over (from your last `:w`) when you need to.

Now you can `cd` to `/etc`, `su` to `root`, use `vi` to edit the file `/etc/group`, and add a user to `wheel` so the user has root privileges. Just add a comma and the user's login name to the end of the first line in the file, press Esc, and use `:wq` to write the file to disk and quit. Instantly effective. (You did not put a space after the comma, did you?)

Prev | Home | Next
Getting Help and Information |  | Printing Files from DOS