xref: /netbsd/lib/libedit/editrc.5 (revision c4a72b64)
1.\"	$NetBSD: editrc.5,v 1.13 2002/10/02 11:06:11 wiz Exp $
2.\"
3.\" Copyright (c) 1997-2000 The NetBSD Foundation, Inc.
4.\" All rights reserved.
5.\"
6.\" This file was contributed to The NetBSD Foundation by Luke Mewburn.
7.\"
8.\" Redistribution and use in source and binary forms, with or without
9.\" modification, are permitted provided that the following conditions
10.\" are met:
11.\" 1. Redistributions of source code must retain the above copyright
12.\"    notice, this list of conditions and the following disclaimer.
13.\" 2. Redistributions in binary form must reproduce the above copyright
14.\"    notice, this list of conditions and the following disclaimer in the
15.\"    documentation and/or other materials provided with the distribution.
16.\" 3. All advertising materials mentioning features or use of this software
17.\"    must display the following acknowledgement:
18.\"        This product includes software developed by the NetBSD
19.\"        Foundation, Inc. and its contributors.
20.\" 4. Neither the name of The NetBSD Foundation nor the names of its
21.\"    contributors may be used to endorse or promote products derived
22.\"    from this software without specific prior written permission.
23.\"
24.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
25.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
26.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
27.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
28.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34.\" POSSIBILITY OF SUCH DAMAGE.
35.\"
36.Dd November 8, 2000
37.Os
38.Dt EDITRC 5
39.Sh NAME
40.Nm editrc
41.Nd configuration file for editline library
42.Sh SYNOPSIS
43.Nm
44.Sh DESCRIPTION
45The
46.Nm
47file defines various settings to be used by the
48.Xr editline 3
49library.
50.Pp
51The format of each line is:
52.Dl [prog:]command [arg [...]]
53.Pp
54.Ar command
55is one of the
56.Xr editline 3
57builtin commands.
58Refer to
59.Sx BUILTIN COMMANDS
60for more information.
61.Pp
62.Ar prog
63is the program name string that a program defines when it calls
64.Xr el_init 3
65to setup
66.Xr editline 3 ,
67which is usually
68.Va argv[0] .
69.Ar command
70will be executed for any program which matches
71.Ar prog .
72.Pp
73.Ar prog
74may also be a
75.Xr regex 3
76style
77regular expression, in which case
78.Ar command
79will be executed for any program that matches the regular expression.
80.Pp
81If
82.Ar prog
83is absent,
84.Ar command
85is executed for all programs.
86.Sh BUILTIN COMMANDS
87The
88.Nm editline
89library has some builtin commands, which affect the way
90that the line editing and history functions operate.
91These are based on similar named builtins present in the
92.Xr tcsh 1
93shell.
94.Pp
95The following builtin commands are available:
96.Bl -tag -width 4n
97.It Ic bind Xo
98.Op Fl a
99.Op Fl e
100.Op Fl k
101.Op Fl l
102.Op Fl r
103.Op Fl s
104.Op Fl v
105.Op Ar key Op Ar command
106.Xc
107Without options, list all bound keys, and the editor command to which
108each is bound.
109If
110.Ar key
111is supplied, show the bindings for
112.Ar key .
113If
114.Ar key command
115is supplied, bind
116.Ar command
117to
118.Ar key .
119Options include:
120.Bl -tag -width 4n
121.It Fl e
122Bind all keys to the standard GNU Emacs-like bindings.
123.It Fl v
124Bind all keys to the standard
125.Xr vi 1 -like
126bindings.
127.It Fl a
128List or change key bindings in the
129.Xr vi 1
130mode alternate (command mode) key map.
131.It Fl k
132.Ar key
133is interpreted as a symbolic arrow key name, which may be one of
134.Sq up ,
135.Sq down ,
136.Sq left
137or
138.Sq right .
139.It Fl l
140List all editor commands and a short description of each.
141.It Fl r
142Remove a key's binding.
143.It Fl s
144.Ar command
145is taken as a literal string and treated as terminal input when
146.Ar key
147is typed.
148Bound keys in
149.Ar command
150are themselves reinterpreted, and this continues for ten levels of
151interpretation.
152.El
153.Pp
154.Ar command
155may be one of the commands documented in
156.Sx "EDITOR COMMANDS"
157below, or another key.
158.Pp
159.Ar key
160and
161.Ar command
162can contain control characters of the form
163.Sm off
164.Sq No ^ Ar character
165.Sm on
166.Po
167e.g.
168.Sq ^A
169.Pc ,
170and the following backslashed escape sequences:
171.Pp
172.Bl -tag -compact -offset indent -width 4n
173.It Ic \ea
174Bell
175.It Ic \eb
176Backspace
177.It Ic \ee
178Escape
179.It Ic \ef
180Formfeed
181.It Ic \en
182Newline
183.It Ic \er
184Carriage return
185.It Ic \et
186Horizontal tab
187.It Ic \ev
188Vertical tab
189.Sm off
190.It Sy \e Ar nnn
191.Sm on
192The ASCII character corresponding to the octal number
193.Ar nnn .
194.El
195.Pp
196.Sq \e
197nullifies the special meaning of the following character,
198if it has any, notably
199.Sq \e
200and
201.Sq ^ .
202.It Ic echotc Xo
203.Op Fl sv
204.Ar arg
205.Ar ...
206.Xc
207Exercise terminal capabilities given in
208.Ar arg Ar ... .
209If
210.Ar arg
211is
212.Sq baud ,
213.Sq cols ,
214.Sq lines ,
215.Sq rows ,
216.Sq meta or
217.Sq tabs ,
218the value of that capability is printed, with
219.Dq yes
220or
221.Dq no
222indicating that the terminal does or does not have that capability.
223.Pp
224.Fl s
225returns an empty string for non-existent capabilities, rather than
226causing an error.
227.Fl v
228causes messages to be verbose.
229.It Ic edit Op Li on | Li off
230Enable or disable the
231.Nm editline
232functionality in a program.
233.It Ic history
234List the history.
235.It Ic telltc
236List the values of all the terminal capabilities (see
237.Xr termcap 5 ) .
238.It Ic settc Ar cap Ar val
239Set the terminal capability
240.Ar cap
241to
242.Ar val ,
243as defined in
244.Xr termcap 5 .
245No sanity checking is done.
246.It Ic setty Xo
247.Op Fl a
248.Op Fl d
249.Op Fl q
250.Op Fl x
251.Op Ar +mode
252.Op Ar -mode
253.Op Ar mode
254.Xc
255Control which tty modes that
256.Nm
257won't allow the user to change.
258.Fl d ,
259.Fl q
260or
261.Fl x
262tells
263.Ic setty
264to act on the
265.Sq edit ,
266.Sq quote
267or
268.Sq execute
269set of tty modes respectively; defaulting to
270.Fl x .
271.Pp
272Without other arguments,
273.Ic setty
274lists the modes in the chosen set which are fixed on
275.Po
276.Sq +mode
277.Pc
278or off
279.Po
280.Sq -mode
281.Pc .
282.Fl a
283lists all tty modes in the chosen set regardless of the setting.
284With
285.Ar +mode ,
286.Ar -mode
287or
288.Ar mode ,
289fixes
290.Ar mode
291on or off or removes control of
292.Ar mode
293in the chosen set.
294.El
295.Sh EDITOR COMMANDS
296The following editor commands are available for use in key bindings:
297.\" Section automatically generated with makelist
298.Bl -tag -width 4n
299.It Ic vi-paste-next
300Vi paste previous deletion to the right of the cursor.
301.It Ic vi-paste-prev
302Vi paste previous deletion to the left of the cursor.
303.It Ic vi-prev-space-word
304Vi move to the previous space delimited word.
305.It Ic vi-prev-word
306Vi move to the previous word.
307.It Ic vi-next-space-word
308Vi move to the next space delimited word.
309.It Ic vi-next-word
310Vi move to the next word.
311.It Ic vi-change-case
312Vi change case of character under the cursor and advance one character.
313.It Ic vi-change-meta
314Vi change prefix command.
315.It Ic vi-insert-at-bol
316Vi enter insert mode at the beginning of line.
317.It Ic vi-replace-char
318Vi replace character under the cursor with the next character typed.
319.It Ic vi-replace-mode
320Vi enter replace mode.
321.It Ic vi-substitute-char
322Vi replace character under the cursor and enter insert mode.
323.It Ic vi-substitute-line
324Vi substitute entire line.
325.It Ic vi-change-to-eol
326Vi change to end of line.
327.It Ic vi-insert
328Vi enter insert mode.
329.It Ic vi-add
330Vi enter insert mode after the cursor.
331.It Ic vi-add-at-eol
332Vi enter insert mode at end of line.
333.It Ic vi-delete-meta
334Vi delete prefix command.
335.It Ic vi-end-word
336Vi move to the end of the current space delimited word.
337.It Ic vi-to-end-word
338Vi move to the end of the current word.
339.It Ic vi-undo
340Vi undo last change.
341.It Ic vi-command-mode
342Vi enter command mode (use alternative key bindings).
343.It Ic vi-zero
344Vi move to the beginning of line.
345.It Ic vi-delete-prev-char
346Vi move to previous character (backspace).
347.It Ic vi-list-or-eof
348Vi list choices for completion or indicate end of file if empty line.
349.It Ic vi-kill-line-prev
350Vi cut from beginning of line to cursor.
351.It Ic vi-search-prev
352Vi search history previous.
353.It Ic vi-search-next
354Vi search history next.
355.It Ic vi-repeat-search-next
356Vi repeat current search in the same search direction.
357.It Ic vi-repeat-search-prev
358Vi repeat current search in the opposite search direction.
359.It Ic vi-next-char
360Vi move to the character specified next.
361.It Ic vi-prev-char
362Vi move to the character specified previous.
363.It Ic vi-to-next-char
364Vi move up to the character specified next.
365.It Ic vi-to-prev-char
366Vi move up to the character specified previous.
367.It Ic vi-repeat-next-char
368Vi repeat current character search in the same search direction.
369.It Ic vi-repeat-prev-char
370Vi repeat current character search in the opposite search direction.
371.It Ic em-delete-or-list
372Delete character under cursor or list completions if at end of line.
373.It Ic em-delete-next-word
374Cut from cursor to end of current word.
375.It Ic em-yank
376Paste cut buffer at cursor position.
377.It Ic em-kill-line
378Cut the entire line and save in cut buffer.
379.It Ic em-kill-region
380Cut area between mark and cursor and save in cut buffer.
381.It Ic em-copy-region
382Copy area between mark and cursor to cut buffer.
383.It Ic em-gosmacs-traspose
384Exchange the two characters before the cursor.
385.It Ic em-next-word
386Move next to end of current word.
387.It Ic em-upper-case
388Uppercase the characters from cursor to end of current word.
389.It Ic em-capitol-case
390Capitalize the characters from cursor to end of current word.
391.It Ic em-lower-case
392Lowercase the characters from cursor to end of current word.
393.It Ic em-set-mark
394Set the mark at cursor.
395.It Ic em-exchange-mark
396Exchange the cursor and mark.
397.It Ic em-universal-argument
398Universal argument (argument times 4).
399.It Ic em-meta-next
400Add 8th bit to next character typed.
401.It Ic em-toggle-overwrite
402Switch from insert to overwrite mode or vice versa.
403.It Ic em-copy-prev-word
404Copy current word to cursor.
405.It Ic em-inc-search-next
406Emacs incremental next search.
407.It Ic em-inc-search-prev
408Emacs incremental reverse search.
409.It Ic ed-end-of-file
410Indicate end of file.
411.It Ic ed-insert
412Add character to the line.
413.It Ic ed-delete-prev-word
414Delete from beginning of current word to cursor.
415.It Ic ed-delete-next-char
416Delete character under cursor.
417.It Ic ed-kill-line
418Cut to the end of line.
419.It Ic ed-move-to-end
420Move cursor to the end of line.
421.It Ic ed-move-to-beg
422Move cursor to the beginning of line.
423.It Ic ed-transpose-chars
424Exchange the character to the left of the cursor with the one under it.
425.It Ic ed-next-char
426Move to the right one character.
427.It Ic ed-prev-word
428Move to the beginning of the current word.
429.It Ic ed-prev-char
430Move to the left one character.
431.It Ic ed-quoted-insert
432Add the next character typed verbatim.
433.It Ic ed-digit
434Adds to argument or enters a digit.
435.It Ic ed-argument-digit
436Digit that starts argument.
437.It Ic ed-unassigned
438Indicates unbound character.
439.It Ic ed-tty-sigint
440Tty interrupt character.
441.It Ic ed-tty-dsusp
442Tty delayed suspend character.
443.It Ic ed-tty-flush-output
444Tty flush output characters.
445.It Ic ed-tty-sigquit
446Tty quit character.
447.It Ic ed-tty-sigtstp
448Tty suspend character.
449.It Ic ed-tty-stop-output
450Tty disallow output characters.
451.It Ic ed-tty-start-output
452Tty allow output characters.
453.It Ic ed-newline
454Execute command.
455.It Ic ed-delete-prev-char
456Delete the character to the left of the cursor.
457.It Ic ed-clear-screen
458Clear screen leaving current line at the top.
459.It Ic ed-redisplay
460Redisplay everything.
461.It Ic ed-start-over
462Erase current line and start from scratch.
463.It Ic ed-sequence-lead-in
464First character in a bound sequence.
465.It Ic ed-prev-history
466Move to the previous history line.
467.It Ic ed-next-history
468Move to the next history line.
469.It Ic ed-search-prev-history
470Search previous in history for a line matching the current.
471.It Ic ed-search-next-history
472Search next in history for a line matching the current.
473.It Ic ed-prev-line
474Move up one line.
475.It Ic ed-next-line
476Move down one line.
477.It Ic ed-command
478Editline extended command.
479.El
480.\" End of section automatically generated with makelist
481.Sh SEE ALSO
482.Xr editline 3 ,
483.Xr regex 3 ,
484.Xr termcap 5
485.Sh AUTHORS
486The
487.Nm editline
488library was written by Christos Zoulas,
489and this manual was written by Luke Mewburn,
490with some sections inspired by
491.Xr tcsh 1 .
492