Using the Text Editors

 < Day Day Up > 

Linux distributions include a number of applications known as text editors that you can use to create text files or edit system configuration files. Text editors are similar to word processing programs, but generally have fewer features, only work with text files, and might or might not support spell checking or formatting. The text editors range in features and ease of use, but are found on nearly every Linux distribution. The number of editors installed on your system depends on what software packages you've installed on the system.

Some of the console-based text editors are

  • ed A simple line editor without cursor support

  • emacs The comprehensive GNU emacs editing environment, which is much more than an editor; see the section "Working with emacs" later

  • jed A programmer's text editor with features such as colorized highlighting of text to help syntax checking and editing of programs

  • joe Joe's Own Editor, a text editor, which can be used to emulate other editors

  • mcedit A DOS-like text editor for Unix-like systems

  • nano A simple text editor similar to the pico text editor included with the pine email program

  • sed A stream editor usually used in shell scripts (discussed in Chapter 14)

  • vim An improved, compatible version of the vi text editor (which we'll call vi in the rest of this chapter because it has a symbolic link named vi and a symbolically linked manual page)

Note that not all text editors described here are screen-oriented; editors such as ed and sed work on a line-by-line basis, or a stream of text, and do not support movement of a cursor on the screen. Some of the text editors for the X Window System, which provide a graphical interface, such as menu bars, buttons, scrollbars and so on, are

  • gedit A GUI text editor for GNOME

  • kate A simple KDE text editor

  • kedit A simple KDE text editor

  • nedit A programming text editor

  • kwrite A simple KDE text editor

A good reason to learn how to use a text-based editor, such as vi, is that system maintenance and recovery operations generally never take place during X Window sessions (negating the use of a GUI editor). Many larger, more complex and capable editors will not work when Linux is booted to its single-user or maintenance mode. See Chapter 14 for more information about how Fedora boots. If anything does go wrong with your system, you probably won't be able to get into the X Window system, making knowledge and experience of using both the command line and text editors such as vi important. Make a point of opening some of the editors and playing around with them; you never know, you might just thank me someday!

Another reason to learn how to use a text-based editor under the Linux console mode is that you will be able to edit text files through dial-up or network shell sessions because many servers do not host graphical desktops.

Working with vi

The editor found on nearly every Unix and Linux system is, without a doubt, the vi editor, originally written by Bill Joy. This simple to use but incredibly capable editor features a somewhat cryptic command set, but you can put it to use with only a few commands. Although older, more experienced Unix and Linux users continue to use vi extensively during computing sessions, many newer users might prefer learning an easier to use text editor such as pico or GNU nano. Die-hard GNU fans and programmers definitely use emacs.

That said, learning how to use vi is a good idea. You might need to edit files on a Linux system with a minimal install, or a remote server without a more extensive offering of installed text editors. Chances are better than good that vi will be available.

You can start an editing session by using the vi command like this:

 $ vi file.txt 

The vi command works by using an insert, or editing mode, and a viewing (or command) mode.

When you first start editing, you'll be in the viewing mode. You can use your cursor or other navigation keys (as shown later) to scroll through the text. To start editing, tap the i key to insert text, or the a key to append text. When finished, use the Esc key to toggle out of the insert or append modes and into the viewing (or command) mode. To enter a command, type a colon (:), followed by the command, such as w to write the file, and press Enter.

Although vi supports many complex editing operations and numerous commands, you can accomplish work by using a few basic commands. These basic vi commands are

  • Cursor movement h, j, k, l (left, down, up, and right)

  • Delete character x

  • Delete line dd

  • Mode toggle ESC, Insert (or i)

  • Quit :q

  • Quit without saving :q!

  • Run a shell command :sh (use 'exit' to return)

  • Save file :w

  • Text search /

NOTE

Use the vimtutor command to quickly learn how to use vi's keyboard commands. The tutorial takes less than 30 minutes, and it teaches new users how to start or stop the editor, navigate files, insert and delete text and perform search, replace, and insert operations.


Working with emacs

Richard M. Stallman's GNU emacs editor, like vi, is included with Linux and nearly every other Linux distribution. Unlike other Unix and Linux text editors, emacs is much more than a simple text editor it is an editing environment and can be used to compile and build programs, act as an electronic diary, appointment book and calendar, compose and send electronic mail, read Usenet news, and even play games. The reason for this capability is the emacs contains a built-in language interpreter that uses the Elisp (emacs LISP) programming language.

The GNU version of this editor requires more than 30MB of hard drive space. However, there are versions with less resource requirements, and at least one other text editor included with Linux, named joe, can be used as a emacs clone (albeit with fewer features).

You can start an emacs editing session like this:

 $ emacs file.txt 

TIP

If you start emacs when using X11, the editor will launch in its own floating window. To force emacs to display inside a terminal window instead of its own window (which can be useful if the window is a login at a remote computer), use the -nw command-line option like this: emacs nw file.txt.


The emacs editor uses an extensive set of keystroke and named commands, but you can work with it using a basic command subset. Many of these basic commands require you to hold down the Ctrl key, or to first press a meta key (generally mapped to the Alt key). The basic commands are listed in Table 5.2.

Table 5.2. Emacs Editing Commands

Action

Command

Abort

Ctrl+g

Cursor left

Ctrl+b

Cursor down

Ctrl+n

Cursor right

Ctrl+f

Cursor up

Ctrl+p

Delete character

Ctrl+d

Delete line

Ctrl+k

Go to start of line

Ctrl+a

Go to end of line

Ctrl+e

Help

Ctrl+h

Quit

Ctrl+x, Ctrl+c

Save As

Ctrl+x, Ctrl+w

Save file

Ctrl+x, Ctrl+s

Search backward

Ctrl+r

Search forward

Ctrl+s

Start tutorial

Ctrl+h, t

Undo

Ctrl+x, u


TIP

One of the best reasons to learn how to use emacs is that you can use nearly all the same keystrokes to edit commands on the bash shell command line. Another reason is that like vi, emacs is universally available on nearly every Unix and Linux system, including Apple's Mac OS X.


     < Day Day Up > 


    Red Hat Fedora 4 Unleashed
    Red Hat Fedora 4 Unleashed
    ISBN: 0672327929
    EAN: 2147483647
    Year: 2006
    Pages: 361

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net