You can edit a command line before sending it to the dcecp by typing control characters or escape sequences that resemble ksh or emacs editing commands. A control character, shown as a <Ctrl-x> where x is a letter, is typed by holding down the <Ctrl> (or <Control>) and pressing the letter key.. For example, <Ctrl-A> is <Ctrl> and <A>, pressed at the same time. Enter an escape sequence by pressing <Escape> followed by one or more characters. In an escape sequence, <Escape> is referred to as ESC, as in <ESC f> for example. Case matters in escape sequences (unlike control characters, which do not distinguish between upper and lower case); <ESC F> is not the same as <ESC f>.
You can enter an editing command anywhere on the line, not just at the beginning. In addition, a return may also be typed anywhere on the line, not just at the end.
Most editing commands accept a repeat count, n, where n is a number. Enter a repeat count by pressing <Escape>, the number, and then the command to execute. For example, <ESC 4> <Ctrl-f> moves forward four characters. Some of the descriptions that follow includeare marked with [n] to identify commands that accept a repeat count.
The following control characters are accepted:
<Ctrl-A> | Move to the beginning of the line |
<Ctrl-B> | Move left (backward) [n] |
<Ctrl-D> | Delete character [n] |
<Ctrl-E> | Move to end of line |
<Ctrl-F> | Move right (forward) [n] |
<Ctrl-G> | Ring the bell |
<Ctrl-H> | Delete character before cursor (<Backspace>) [n] |
<Ctrl-I> | Complete filename (<Tab>); see following text |
<Ctrl-J> | Done with line (<Return>) |
<Ctrl-K> | Kill to end of line (or column [n]) |
<Ctrl-L> | Redisplay line |
<Ctrl-M> | Done with line (alternate <Return>) |
<Ctrl-N> | Get next line from history [n] |
<Ctrl-P> | Get previous line from history [n] |
<Ctrl-R> | Search backward (forward if [n]) through history for text; must start line if text begins with an up arrow |
<Ctrl-T> | Transpose characters |
<Ctrl-V> | Insert next character, even if it is an edit command |
<Ctrl-W> | Wipe to the mark |
<Ctrl-X> <Ctrl-X> | Exchange current location and mark |
<Ctrl-Y> | Yank back last killed text |
<Ctrl-[> | Start an escape sequence |
<Ctrl-]>C | Move forward to next character C |
<Ctrl-?> | Delete character before cursor (<Delete>[n]) |
<ESC> <Ctrl-H> | Delete previous word (<Backspace>) [n] |
<ESC DEL> | Delete previous word (<Delete>) [n] |
<ESC SPC> | Set the mark (<Spacebar>); see <Ctrl-X> <Ctrl-X> and <Ctrl-Y> |
<ESC .> | Get the last (or nth) word from previous line |
<ESC ?> | Show possible completions; see following |
<ESC <> | Move to start of history |
<ESC >> | Move to end of history |
<ESC b> | Move backward a word [n] |
<ESC d> | Delete word under cursor [n] |
<ESC f> | Move forward a word [n] |
<ESC l> | Make word lowercase [n] |
<ESC u> | Make word uppercase [n] |
<ESC y> | Yank back last killed text |
<ESC w> | Make area up to mark yankable |
<ESC nn> | Set repeat count to the number nn |
The dcecp program also provides filename completion. Suppose the root directory has the following files in it:
bin vmunix
core vmunix.old
If you type rm /v and then press <Tab>, the command processor completes as much of the name as possible off by adding munix. Because the example name is not unique, it beeps. If you press <Escape> followed by the ? (question mark), it displays the two choices. The command processor completes the filename when you then enter the period (which makes the name unique) followed by a <Tab>, as shown in the following:
rm /v[Tab]munix.[Tab]old
In this example, the constant width font indicates text automatically entered by the command processor.