xref: /freebsd/contrib/libedit/editrc.5 (revision cab6a39d7b343596a5823e65c0f7b426551ec22d)
1.\"	$NetBSD: editrc.5,v 1.33 2017/06/27 01:22:58 kre 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.\"
17.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27.\" POSSIBILITY OF SUCH DAMAGE.
28.\"
29.Dd May 22, 2016
30.Dt EDITRC 5
31.Os
32.Sh NAME
33.Nm editrc
34.Nd configuration file for editline library
35.Sh SYNOPSIS
36.Nm
37.Sh DESCRIPTION
38The
39.Nm
40file defines various settings to be used by the
41.Xr editline 3
42library.
43.Pp
44The format of each line is:
45.Pp
46.Dl [prog:]command [arg ...]
47.Pp
48.Ar command
49is one of the
50.Xr editline 3
51builtin commands.
52Refer to
53.Sx BUILTIN COMMANDS
54for more information.
55.Pp
56.Ar prog
57is the program name string that a program defines when it calls
58.Xr el_init 3
59to set up
60.Xr editline 3 ,
61which is usually
62.Va argv[0] .
63.Ar command
64will be executed for any program which matches
65.Ar prog .
66.Pp
67.Ar prog
68may also be a
69.Xr regex 3
70style
71regular expression, in which case
72.Ar command
73will be executed for any program that matches the regular expression.
74.Pp
75If
76.Ar prog
77is absent,
78.Ar command
79is executed for all programs.
80.Sh BUILTIN COMMANDS
81The
82.Nm editline
83library has some builtin commands, which affect the way
84that the line editing and history functions operate.
85These are based on similar named builtins present in the
86.Xr tcsh 1
87shell.
88.Pp
89The following builtin commands are available:
90.Bl -tag -width 4n
91.It Ic bind Oo Fl aeklrsv Oc Op Ar key Op Ar command
92Without options and arguments, list all bound keys and macros, and
93the editor command or input string to which each one is bound.
94If only
95.Ar key
96is supplied, show the binding for that key or macro.
97If
98.Ar key command
99is supplied, bind the editor
100.Ar command
101to that key or macro.
102.Pp
103The options are as follows:
104.Bl -tag -width 4n
105.It Fl a
106List or change key bindings in the
107.Xr vi 1
108mode alternate (command mode) key map.
109.It Fl e
110Bind all keys to the standard GNU Emacs-like bindings.
111.It Fl k
112.Ar key
113is interpreted as a symbolic arrow key name, which may be one of
114.Sq up ,
115.Sq down ,
116.Sq left
117or
118.Sq right .
119.It Fl l
120List all editor commands and a short description of each.
121.It Fl r
122Remove the binding of the key or macro
123.Ar key .
124.It Fl s
125Define a keyboard macro rather than a key binding or command macro:
126.Ar command
127is taken as a literal string and appended to the input queue whenever
128.Ar key
129is typed.
130Bound keys and macros in
131.Ar command
132are themselves reinterpreted, and this continues for ten levels of
133interpretation.
134.It Fl v
135Bind all keys to the standard
136.Xr vi 1 Ns -like
137bindings.
138.El
139.Pp
140The
141.Xr editline 7
142manual documents all editor commands and contains more information
143about macros and the input queue.
144.Pp
145.Ar key
146and
147.Ar command
148can contain control characters of the form
149.Sm off
150.Sq No ^ Ar character
151.Sm on
152.Po
153e.g.\&
154.Sq ^A
155.Pc ,
156and the following backslashed escape sequences:
157.Pp
158.Bl -tag -compact -offset indent -width 4n
159.It Ic \ea
160Bell
161.It Ic \eb
162Backspace
163.It Ic \ee
164Escape
165.It Ic \ef
166Formfeed
167.It Ic \en
168Newline
169.It Ic \er
170Carriage return
171.It Ic \et
172Horizontal tab
173.It Ic \ev
174Vertical tab
175.Sm off
176.It Sy \e Ar nnn
177.Sm on
178The ASCII character corresponding to the octal number
179.Ar nnn .
180.El
181.Pp
182.Sq \e
183nullifies the special meaning of the following character,
184if it has any, notably
185.Sq \e
186and
187.Sq ^ .
188.It Ic echotc Oo Fl sv Oc Ar arg Ar ...
189Exercise terminal capabilities given in
190.Ar arg ... .
191If
192.Ar arg
193is
194.Sq baud ,
195.Sq cols ,
196.Sq lines ,
197.Sq rows ,
198.Sq meta ,
199or
200.Sq tabs ,
201the value of that capability is printed, with
202.Dq yes
203or
204.Dq no
205indicating that the terminal does or does not have that capability.
206.Pp
207.Fl s
208returns an empty string for non-existent capabilities, rather than
209causing an error.
210.Fl v
211causes messages to be verbose.
212.It Ic edit Op Li on | Li off
213Enable or disable the
214.Nm editline
215functionality in a program.
216.It Ic history Ar list | Ar size Dv n | Ar unique Dv n
217The
218.Ar list
219command lists all entries in the history.
220The
221.Ar size
222command sets the history size to
223.Dv n
224entries.
225The
226.Ar unique
227command controls if history should keep duplicate entries.
228If
229.Dv n
230is non zero, only keep unique history entries.
231If
232.Dv n
233is zero, then keep all entries (the default).
234.It Ic settc Ar cap Ar val
235Set the terminal capability
236.Ar cap
237to
238.Ar val ,
239as defined in
240.Xr termcap 5 .
241No sanity checking is done.
242.It Ic setty Oo Fl a Oc Oo Fl d Oc Oo Fl q Oc Oo Fl x Oc Oo Ar +mode Oc \
243Oo Ar -mode Oc Oo Ar mode Oc Oo Ar char=c Oc
244Control which tty modes that
245.Nm
246won't allow the user to change.
247.Fl d ,
248.Fl q
249or
250.Fl x
251tells
252.Ic setty
253to act on the
254.Sq edit ,
255.Sq quote
256or
257.Sq execute
258set of tty modes respectively; defaulting to
259.Fl x .
260.Pp
261Without other arguments,
262.Ic setty
263lists the modes in the chosen set which are fixed on
264.Po
265.Sq +mode
266.Pc
267or off
268.Po
269.Sq -mode
270.Pc .
271.Fl a
272lists all tty modes in the chosen set regardless of the setting.
273With
274.Ar +mode ,
275.Ar -mode
276or
277.Ar mode ,
278fixes
279.Ar mode
280on or off or removes control of
281.Ar mode
282in the chosen set.
283.Pp
284.Ic Setty
285can also be used to set tty characters to particular values using
286.Ar char=value .
287If
288.Ar value
289is empty
290then the character is set to
291.Dv _POSIX_VDISABLE .
292.It Ic telltc
293List the values of all the terminal capabilities (see
294.Xr termcap 5 ) .
295.El
296.Sh ENVIRONMENT
297.Bl -tag -width "~/.editrcXXX"
298.It Ev EDITRC
299Names the default configuration file for the
300.Xr editline 3
301library.
302.El
303.Sh FILES
304.Bl -tag -width "~/.editrcXXX"
305.It Pa ~/.editrc
306Last resort, if no other file is specified,
307user configuration file for the
308.Xr editline 3
309library.
310.El
311.Sh SEE ALSO
312.Xr editline 3 ,
313.Xr regex 3 ,
314.Xr termcap 5 ,
315.Xr editline 7
316.Sh AUTHORS
317.An -nosplit
318The
319.Nm editline
320library was written by
321.An Christos Zoulas ,
322and this manual was written by
323.An Luke Mewburn ,
324with some sections inspired by
325.Xr tcsh 1 .
326