Files
oldlinux-files/Minix/2.0.0/wwwman/man3/editline.3.html
2024-02-19 00:21:39 -05:00

172 lines
6.7 KiB
HTML

<HTML>
<HEAD>
<TITLE>editline(3)</TITLE>
</HEAD>
<BODY>
<H1>editline(3)</H1>
<HR>
<PRE>
</PRE>
<H2>NAME</H2><PRE>
editline - command-line editing library with history
</PRE>
<H2>SYNOPSIS</H2><PRE>
<STRONG>char</STRONG> <STRONG>*</STRONG>
<STRONG>readline(prompt)</STRONG>
<STRONG>char</STRONG> <STRONG>*prompt;</STRONG>
<STRONG>void</STRONG>
<STRONG>add_history(line)</STRONG>
<STRONG>char</STRONG> <STRONG>*line;</STRONG>
</PRE>
<H2>DESCRIPTION</H2><PRE>
<EM>Editline</EM> is a library that provides an line-editing interface with text
recall. It is intended to be compatible with the <EM>readline</EM> library
provided by the Free Software Foundation, but much smaller. The bulk of
this manual page describes the user interface.
The <EM>readline</EM> routine returns a line of text with the trailing newline
removed. The data is returned in a buffer allocated with <STRONG><A HREF="../man3/malloc.3.html">malloc(3)</A></STRONG>, so
the space should be released with <STRONG><A HREF="../man3/free.3.html">free(3)</A></STRONG> when the calling program is
done with it. Before accepting input from the user, the specified <EM>prompt</EM>
is displayed on the terminal.
The <EM>add</EM>_<EM>history</EM> routine makes a copy of the specified <EM>line</EM> and adds it to
the internal history list.
<STRONG>User</STRONG> <STRONG>Interface</STRONG>
A program that uses this library provides a simple emacs-like editing
interface to its users. A line may be edited before it is sent to the
calling program by typing either control characters or escape sequences.
A control character, shown as a caret followed by a letter, is typed by
holding down the ``control'' key while the letter is typed. For example,
``^A'' is a control-A. An escape sequence is entered by typing the
``escape'' key followed by one or more characters. The escape key is
abbreviated as ``ESC.'' Note that unlike control keys, case matters in
escape sequences; ``ESC F'' is not the same as ``ESC f''.
An editing command may be typed 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 may be given a repeat count, <EM>n</EM>, where <EM>n</EM> is a
number. To enter a repeat count, type the escape key, the number, and
then the command to execute. For example, ``ESC 4 ^f'' moves forward
four characters. If a command may be given a repeat count then the text
``[n]'' is given at the end of its description.
The following control characters are accepted:
^A Move to the beginning of the line
^B Move left (backwards) [n]
^D Delete character [n]
^E Move to end of line
^F Move right (forwards) [n]
^G Ring the bell
^H Delete character before cursor (backspace key) [n]
^I Complete filename (tab key); see below
^J Done with line (return key)
^K Kill to end of line (or column [n])
^L Redisplay line
^M Done with line (alternate return key)
^N Get next line from history [n]
^P Get previous line from history [n]
^R Search backward (forward if [n]) through history for text;
must start line if text begins with an uparrow
^T Transpose characters
^V Insert next character, even if it is an edit command
^W Wipe to the mark
^X^X Exchange current location and mark
^Y Yank back last killed text
^[ Start an escape sequence (escape key)
^]c Move forward to next character ``c''
^? Delete character before cursor (delete key) [n]
The following escape sequences are provided.
ESC ^H Delete previous word (backspace key) [n]
ESC DEL Delete previous word (delete key) [n]
ESC SP Set the mark (space key); see ^X^X and ^Y above
ESC . Get the last (or [n]'th) word from previous line
ESC ? Show possible completions; see below
ESC &lt; Move to start of history
ESC &gt; 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 m Toggle if 8bit chars display normally or with ``M-'' prefix
ESC u Make word uppercase [n]
ESC y Yank back last killed text
ESC v Show library version
ESC w Make area up to mark yankable
ESC nn Set repeat count to the number nn
ESC C Read from environment variable ``_C_'', where C is
an uppercase letter
The <EM>editline</EM> library has a small macro facility. If you type the escape
key followed by an uppercase letter, <EM>C</EM>, then the contents of the
environment variable _<EM>C</EM>_ are read in as if you had typed them at the
keyboard. For example, if the variable _<EM>L</EM>_ contains the following:
^A^Kecho '^V^[[H^V^[[2J'^M
Then typing ``ESC L'' will move to the beginning of the line, kill the
entire line, enter the echo command needed to clear the terminal (if your
terminal is like a VT-100), and send the line back to the shell.
The <EM>editline</EM> library also does filename completion. Suppose the root
directory has the following files in it:
bin vmunix
core vmunix.old
If you type ``rm /v'' and then the tab key. <EM>Editline</EM> will then finish
off as much of the name as possible by adding ``munix''. Because the
name is not unique, it will then beep. If you type the escape key and a
question mark, it will display the two choices. If you then type a
period and a tab, the library will finish off the filename for you:
rm /v[TAB]<EM>munix</EM>.TAB<EM>old</EM>
The tab key is shown by ``[TAB]'' and the automatically-entered text is
shown in italics.
</PRE>
<H2>BUGS AND LIMITATIONS</H2><PRE>
Cannot handle lines more than 80 columns.
</PRE>
<H2>AUTHORS</H2><PRE>
Simmule R. Turner &lt;uunet.uu.net!capitol!sysgo!simmy&gt; and Rich $alz
&lt;rsalz@osf.org&gt;. Original manual page by DaviD W. Sanderson
&lt;dws@ssec.wisc.edu&gt;.
</PRE>
</BODY>
</HTML>