xref: /freebsd/contrib/libedit/editrc.5 (revision baff81958c8efef2a44f4b769743eeb7101bee9e)
1*baff8195SBaptiste Daroussin.\"	$NetBSD: editrc.5,v 1.34 2022/12/06 00:59:20 uwe Exp $
2d0ef721eSBaptiste Daroussin.\"
3d0ef721eSBaptiste Daroussin.\" Copyright (c) 1997-2000 The NetBSD Foundation, Inc.
4d0ef721eSBaptiste Daroussin.\" All rights reserved.
5d0ef721eSBaptiste Daroussin.\"
6d0ef721eSBaptiste Daroussin.\" This file was contributed to The NetBSD Foundation by Luke Mewburn.
7d0ef721eSBaptiste Daroussin.\"
8d0ef721eSBaptiste Daroussin.\" Redistribution and use in source and binary forms, with or without
9d0ef721eSBaptiste Daroussin.\" modification, are permitted provided that the following conditions
10d0ef721eSBaptiste Daroussin.\" are met:
11d0ef721eSBaptiste Daroussin.\" 1. Redistributions of source code must retain the above copyright
12d0ef721eSBaptiste Daroussin.\"    notice, this list of conditions and the following disclaimer.
13d0ef721eSBaptiste Daroussin.\" 2. Redistributions in binary form must reproduce the above copyright
14d0ef721eSBaptiste Daroussin.\"    notice, this list of conditions and the following disclaimer in the
15d0ef721eSBaptiste Daroussin.\"    documentation and/or other materials provided with the distribution.
16d0ef721eSBaptiste Daroussin.\"
17d0ef721eSBaptiste Daroussin.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
18d0ef721eSBaptiste Daroussin.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19d0ef721eSBaptiste Daroussin.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20d0ef721eSBaptiste Daroussin.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
21d0ef721eSBaptiste Daroussin.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22d0ef721eSBaptiste Daroussin.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23d0ef721eSBaptiste Daroussin.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24d0ef721eSBaptiste Daroussin.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25d0ef721eSBaptiste Daroussin.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26d0ef721eSBaptiste Daroussin.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27d0ef721eSBaptiste Daroussin.\" POSSIBILITY OF SUCH DAMAGE.
28d0ef721eSBaptiste Daroussin.\"
29d0ef721eSBaptiste Daroussin.Dd May 22, 2016
30d0ef721eSBaptiste Daroussin.Dt EDITRC 5
31d0ef721eSBaptiste Daroussin.Os
32d0ef721eSBaptiste Daroussin.Sh NAME
33d0ef721eSBaptiste Daroussin.Nm editrc
34d0ef721eSBaptiste Daroussin.Nd configuration file for editline library
35d0ef721eSBaptiste Daroussin.Sh SYNOPSIS
36d0ef721eSBaptiste Daroussin.Nm
37d0ef721eSBaptiste Daroussin.Sh DESCRIPTION
38d0ef721eSBaptiste DaroussinThe
39d0ef721eSBaptiste Daroussin.Nm
40d0ef721eSBaptiste Daroussinfile defines various settings to be used by the
41d0ef721eSBaptiste Daroussin.Xr editline 3
42d0ef721eSBaptiste Daroussinlibrary.
43d0ef721eSBaptiste Daroussin.Pp
44d0ef721eSBaptiste DaroussinThe format of each line is:
45d0ef721eSBaptiste Daroussin.Pp
46*baff8195SBaptiste Daroussin.D1 Oo Ar prog Ns Ic \&: Oc Ns Ar command Oo Ar arg ... Oc
47d0ef721eSBaptiste Daroussin.Pp
48d0ef721eSBaptiste Daroussin.Ar command
49d0ef721eSBaptiste Daroussinis one of the
50d0ef721eSBaptiste Daroussin.Xr editline 3
51d0ef721eSBaptiste Daroussinbuiltin commands.
52d0ef721eSBaptiste DaroussinRefer to
53d0ef721eSBaptiste Daroussin.Sx BUILTIN COMMANDS
54d0ef721eSBaptiste Daroussinfor more information.
55d0ef721eSBaptiste Daroussin.Pp
56d0ef721eSBaptiste Daroussin.Ar prog
57d0ef721eSBaptiste Daroussinis the program name string that a program defines when it calls
58d0ef721eSBaptiste Daroussin.Xr el_init 3
59d0ef721eSBaptiste Daroussinto set up
60d0ef721eSBaptiste Daroussin.Xr editline 3 ,
61d0ef721eSBaptiste Daroussinwhich is usually
62*baff8195SBaptiste Daroussin.Va argv Ns Li [0] .
63d0ef721eSBaptiste Daroussin.Ar command
64d0ef721eSBaptiste Daroussinwill be executed for any program which matches
65d0ef721eSBaptiste Daroussin.Ar prog .
66d0ef721eSBaptiste Daroussin.Pp
67d0ef721eSBaptiste Daroussin.Ar prog
68d0ef721eSBaptiste Daroussinmay also be a
69d0ef721eSBaptiste Daroussin.Xr regex 3
70d0ef721eSBaptiste Daroussinstyle
71d0ef721eSBaptiste Daroussinregular expression, in which case
72d0ef721eSBaptiste Daroussin.Ar command
73d0ef721eSBaptiste Daroussinwill be executed for any program that matches the regular expression.
74d0ef721eSBaptiste Daroussin.Pp
75d0ef721eSBaptiste DaroussinIf
76d0ef721eSBaptiste Daroussin.Ar prog
77d0ef721eSBaptiste Daroussinis absent,
78d0ef721eSBaptiste Daroussin.Ar command
79d0ef721eSBaptiste Daroussinis executed for all programs.
80d0ef721eSBaptiste Daroussin.Sh BUILTIN COMMANDS
81d0ef721eSBaptiste DaroussinThe
82d0ef721eSBaptiste Daroussin.Nm editline
83d0ef721eSBaptiste Daroussinlibrary has some builtin commands, which affect the way
84d0ef721eSBaptiste Daroussinthat the line editing and history functions operate.
85d0ef721eSBaptiste DaroussinThese are based on similar named builtins present in the
86d0ef721eSBaptiste Daroussin.Xr tcsh 1
87d0ef721eSBaptiste Daroussinshell.
88d0ef721eSBaptiste Daroussin.Pp
89d0ef721eSBaptiste DaroussinThe following builtin commands are available:
90d0ef721eSBaptiste Daroussin.Bl -tag -width 4n
91d0ef721eSBaptiste Daroussin.It Ic bind Oo Fl aeklrsv Oc Op Ar key Op Ar command
92d0ef721eSBaptiste DaroussinWithout options and arguments, list all bound keys and macros, and
93d0ef721eSBaptiste Daroussinthe editor command or input string to which each one is bound.
94d0ef721eSBaptiste DaroussinIf only
95d0ef721eSBaptiste Daroussin.Ar key
96d0ef721eSBaptiste Daroussinis supplied, show the binding for that key or macro.
97d0ef721eSBaptiste DaroussinIf
98d0ef721eSBaptiste Daroussin.Ar key command
99d0ef721eSBaptiste Daroussinis supplied, bind the editor
100d0ef721eSBaptiste Daroussin.Ar command
101d0ef721eSBaptiste Daroussinto that key or macro.
102d0ef721eSBaptiste Daroussin.Pp
103d0ef721eSBaptiste DaroussinThe options are as follows:
104d0ef721eSBaptiste Daroussin.Bl -tag -width 4n
105d0ef721eSBaptiste Daroussin.It Fl a
106d0ef721eSBaptiste DaroussinList or change key bindings in the
107d0ef721eSBaptiste Daroussin.Xr vi 1
108d0ef721eSBaptiste Daroussinmode alternate (command mode) key map.
109d0ef721eSBaptiste Daroussin.It Fl e
110*baff8195SBaptiste DaroussinBind all keys to the standard
111*baff8195SBaptiste Daroussin.Tn GNU
112*baff8195SBaptiste DaroussinEmacs-like bindings.
113d0ef721eSBaptiste Daroussin.It Fl k
114d0ef721eSBaptiste Daroussin.Ar key
115d0ef721eSBaptiste Daroussinis interpreted as a symbolic arrow key name, which may be one of
116*baff8195SBaptiste Daroussin.Ic up ,
117*baff8195SBaptiste Daroussin.Ic down ,
118*baff8195SBaptiste Daroussin.Ic left
119d0ef721eSBaptiste Daroussinor
120*baff8195SBaptiste Daroussin.Ic right .
121d0ef721eSBaptiste Daroussin.It Fl l
122d0ef721eSBaptiste DaroussinList all editor commands and a short description of each.
123d0ef721eSBaptiste Daroussin.It Fl r
124d0ef721eSBaptiste DaroussinRemove the binding of the key or macro
125d0ef721eSBaptiste Daroussin.Ar key .
126d0ef721eSBaptiste Daroussin.It Fl s
127d0ef721eSBaptiste DaroussinDefine a keyboard macro rather than a key binding or command macro:
128d0ef721eSBaptiste Daroussin.Ar command
129d0ef721eSBaptiste Daroussinis taken as a literal string and appended to the input queue whenever
130d0ef721eSBaptiste Daroussin.Ar key
131d0ef721eSBaptiste Daroussinis typed.
132d0ef721eSBaptiste DaroussinBound keys and macros in
133d0ef721eSBaptiste Daroussin.Ar command
134d0ef721eSBaptiste Daroussinare themselves reinterpreted, and this continues for ten levels of
135d0ef721eSBaptiste Daroussininterpretation.
136d0ef721eSBaptiste Daroussin.It Fl v
137d0ef721eSBaptiste DaroussinBind all keys to the standard
138d0ef721eSBaptiste Daroussin.Xr vi 1 Ns -like
139d0ef721eSBaptiste Daroussinbindings.
140d0ef721eSBaptiste Daroussin.El
141d0ef721eSBaptiste Daroussin.Pp
142d0ef721eSBaptiste DaroussinThe
143d0ef721eSBaptiste Daroussin.Xr editline 7
144d0ef721eSBaptiste Daroussinmanual documents all editor commands and contains more information
145d0ef721eSBaptiste Daroussinabout macros and the input queue.
146d0ef721eSBaptiste Daroussin.Pp
147d0ef721eSBaptiste Daroussin.Ar key
148d0ef721eSBaptiste Daroussinand
149d0ef721eSBaptiste Daroussin.Ar command
150d0ef721eSBaptiste Daroussincan contain control characters of the form
151*baff8195SBaptiste Daroussin.Sq Ic ^ Ns Ar character
152d0ef721eSBaptiste Daroussin.Po
153d0ef721eSBaptiste Daroussine.g.\&
154*baff8195SBaptiste Daroussin.Ql ^A
155d0ef721eSBaptiste Daroussin.Pc ,
156d0ef721eSBaptiste Daroussinand the following backslashed escape sequences:
157d0ef721eSBaptiste Daroussin.Pp
158*baff8195SBaptiste Daroussin.Bl -tag -compact -offset indent -width Ic
159d0ef721eSBaptiste Daroussin.It Ic \ea
160d0ef721eSBaptiste DaroussinBell
161d0ef721eSBaptiste Daroussin.It Ic \eb
162d0ef721eSBaptiste DaroussinBackspace
163d0ef721eSBaptiste Daroussin.It Ic \ee
164d0ef721eSBaptiste DaroussinEscape
165d0ef721eSBaptiste Daroussin.It Ic \ef
166d0ef721eSBaptiste DaroussinFormfeed
167d0ef721eSBaptiste Daroussin.It Ic \en
168d0ef721eSBaptiste DaroussinNewline
169d0ef721eSBaptiste Daroussin.It Ic \er
170d0ef721eSBaptiste DaroussinCarriage return
171d0ef721eSBaptiste Daroussin.It Ic \et
172d0ef721eSBaptiste DaroussinHorizontal tab
173d0ef721eSBaptiste Daroussin.It Ic \ev
174d0ef721eSBaptiste DaroussinVertical tab
175d0ef721eSBaptiste Daroussin.Sm off
176*baff8195SBaptiste Daroussin.It Ic \e Ar nnn
177d0ef721eSBaptiste Daroussin.Sm on
178*baff8195SBaptiste DaroussinThe
179*baff8195SBaptiste Daroussin.Tn ASCII
180*baff8195SBaptiste Daroussincharacter corresponding to the octal number
181d0ef721eSBaptiste Daroussin.Ar nnn .
182d0ef721eSBaptiste Daroussin.El
183d0ef721eSBaptiste Daroussin.Pp
184*baff8195SBaptiste Daroussin.Ql \e
185d0ef721eSBaptiste Daroussinnullifies the special meaning of the following character,
186d0ef721eSBaptiste Daroussinif it has any, notably
187*baff8195SBaptiste Daroussin.Ql \e
188d0ef721eSBaptiste Daroussinand
189*baff8195SBaptiste Daroussin.Ql ^ .
190d0ef721eSBaptiste Daroussin.It Ic echotc Oo Fl sv Oc Ar arg Ar ...
191d0ef721eSBaptiste DaroussinExercise terminal capabilities given in
192*baff8195SBaptiste Daroussin.Ar arg .
193d0ef721eSBaptiste DaroussinIf
194d0ef721eSBaptiste Daroussin.Ar arg
195d0ef721eSBaptiste Daroussinis
196*baff8195SBaptiste Daroussin.Ql baud ,
197*baff8195SBaptiste Daroussin.Ql cols ,
198*baff8195SBaptiste Daroussin.Ql lines ,
199*baff8195SBaptiste Daroussin.Ql rows ,
200*baff8195SBaptiste Daroussin.Ql meta ,
201d0ef721eSBaptiste Daroussinor
202*baff8195SBaptiste Daroussin.Ql tabs ,
203d0ef721eSBaptiste Daroussinthe value of that capability is printed, with
204d0ef721eSBaptiste Daroussin.Dq yes
205d0ef721eSBaptiste Daroussinor
206d0ef721eSBaptiste Daroussin.Dq no
207d0ef721eSBaptiste Daroussinindicating that the terminal does or does not have that capability.
208d0ef721eSBaptiste Daroussin.Pp
209d0ef721eSBaptiste Daroussin.Fl s
210d0ef721eSBaptiste Daroussinreturns an empty string for non-existent capabilities, rather than
211d0ef721eSBaptiste Daroussincausing an error.
212d0ef721eSBaptiste Daroussin.Fl v
213d0ef721eSBaptiste Daroussincauses messages to be verbose.
214*baff8195SBaptiste Daroussin.It Ic edit Op Li on No | Li off
215d0ef721eSBaptiste DaroussinEnable or disable the
216d0ef721eSBaptiste Daroussin.Nm editline
217d0ef721eSBaptiste Daroussinfunctionality in a program.
218*baff8195SBaptiste Daroussin.It Ic history Li list No | Li size Ar n No | Li unique Ar n
219d0ef721eSBaptiste DaroussinThe
220*baff8195SBaptiste Daroussin.Ql list
221d0ef721eSBaptiste Daroussincommand lists all entries in the history.
222d0ef721eSBaptiste DaroussinThe
223*baff8195SBaptiste Daroussin.Ql size
224d0ef721eSBaptiste Daroussincommand sets the history size to
225*baff8195SBaptiste Daroussin.Ar n
226d0ef721eSBaptiste Daroussinentries.
227d0ef721eSBaptiste DaroussinThe
228*baff8195SBaptiste Daroussin.Ql unique
229d0ef721eSBaptiste Daroussincommand controls if history should keep duplicate entries.
230d0ef721eSBaptiste DaroussinIf
231*baff8195SBaptiste Daroussin.Ar n
232d0ef721eSBaptiste Daroussinis non zero, only keep unique history entries.
233d0ef721eSBaptiste DaroussinIf
234*baff8195SBaptiste Daroussin.Ar n
235d0ef721eSBaptiste Daroussinis zero, then keep all entries (the default).
236d0ef721eSBaptiste Daroussin.It Ic settc Ar cap Ar val
237d0ef721eSBaptiste DaroussinSet the terminal capability
238d0ef721eSBaptiste Daroussin.Ar cap
239d0ef721eSBaptiste Daroussinto
240d0ef721eSBaptiste Daroussin.Ar val ,
241d0ef721eSBaptiste Daroussinas defined in
242d0ef721eSBaptiste Daroussin.Xr termcap 5 .
243d0ef721eSBaptiste DaroussinNo sanity checking is done.
244*baff8195SBaptiste Daroussin.It Ic setty Oo Fl a Oc Oo Fl d Oc Oo Fl q Oc Oo Fl x Oc Oo Ic \&+ Ns Ar mode Oc \
245*baff8195SBaptiste DaroussinOo Fl Ar mode Oc Oo Ar mode Oc Oo Ar char\| Ns Ic = Ns Ar c Oc
246d0ef721eSBaptiste DaroussinControl which tty modes that
247d0ef721eSBaptiste Daroussin.Nm
248d0ef721eSBaptiste Daroussinwon't allow the user to change.
249d0ef721eSBaptiste Daroussin.Fl d ,
250d0ef721eSBaptiste Daroussin.Fl q
251d0ef721eSBaptiste Daroussinor
252d0ef721eSBaptiste Daroussin.Fl x
253d0ef721eSBaptiste Daroussintells
254d0ef721eSBaptiste Daroussin.Ic setty
255d0ef721eSBaptiste Daroussinto act on the
256d0ef721eSBaptiste Daroussin.Sq edit ,
257d0ef721eSBaptiste Daroussin.Sq quote
258d0ef721eSBaptiste Daroussinor
259d0ef721eSBaptiste Daroussin.Sq execute
260d0ef721eSBaptiste Daroussinset of tty modes respectively; defaulting to
261d0ef721eSBaptiste Daroussin.Fl x .
262d0ef721eSBaptiste Daroussin.Pp
263d0ef721eSBaptiste DaroussinWithout other arguments,
264d0ef721eSBaptiste Daroussin.Ic setty
265d0ef721eSBaptiste Daroussinlists the modes in the chosen set which are fixed on
266d0ef721eSBaptiste Daroussin.Po
267*baff8195SBaptiste Daroussin.Ic + Ns Ar mode
268d0ef721eSBaptiste Daroussin.Pc
269d0ef721eSBaptiste Daroussinor off
270d0ef721eSBaptiste Daroussin.Po
271*baff8195SBaptiste Daroussin.Fl Ns Ar mode
272d0ef721eSBaptiste Daroussin.Pc .
273d0ef721eSBaptiste Daroussin.Fl a
274d0ef721eSBaptiste Daroussinlists all tty modes in the chosen set regardless of the setting.
275d0ef721eSBaptiste DaroussinWith
276*baff8195SBaptiste Daroussin.Ic + Ns Ar mode ,
277*baff8195SBaptiste Daroussin.Fl Ns Ar mode
278d0ef721eSBaptiste Daroussinor
279d0ef721eSBaptiste Daroussin.Ar mode ,
280d0ef721eSBaptiste Daroussinfixes
281d0ef721eSBaptiste Daroussin.Ar mode
282d0ef721eSBaptiste Daroussinon or off or removes control of
283d0ef721eSBaptiste Daroussin.Ar mode
284d0ef721eSBaptiste Daroussinin the chosen set.
285d0ef721eSBaptiste Daroussin.Pp
286d0ef721eSBaptiste Daroussin.Ic Setty
287d0ef721eSBaptiste Daroussincan also be used to set tty characters to particular values using
288*baff8195SBaptiste Daroussin.Ar char\| Ns Ic = Ns Ar value .
289d0ef721eSBaptiste DaroussinIf
290d0ef721eSBaptiste Daroussin.Ar value
291d0ef721eSBaptiste Daroussinis empty
292d0ef721eSBaptiste Daroussinthen the character is set to
293d0ef721eSBaptiste Daroussin.Dv _POSIX_VDISABLE .
294d0ef721eSBaptiste Daroussin.It Ic telltc
295d0ef721eSBaptiste DaroussinList the values of all the terminal capabilities (see
296d0ef721eSBaptiste Daroussin.Xr termcap 5 ) .
297d0ef721eSBaptiste Daroussin.El
298d0ef721eSBaptiste Daroussin.Sh ENVIRONMENT
299*baff8195SBaptiste Daroussin.Bl -tag -width Ev
300d0ef721eSBaptiste Daroussin.It Ev EDITRC
301d0ef721eSBaptiste DaroussinNames the default configuration file for the
302d0ef721eSBaptiste Daroussin.Xr editline 3
303d0ef721eSBaptiste Daroussinlibrary.
304d0ef721eSBaptiste Daroussin.El
305d0ef721eSBaptiste Daroussin.Sh FILES
306*baff8195SBaptiste Daroussin.Bl -tag -width Pa
307d0ef721eSBaptiste Daroussin.It Pa ~/.editrc
308*baff8195SBaptiste DaroussinLast resort user configuration file for the
309d0ef721eSBaptiste Daroussin.Xr editline 3
310*baff8195SBaptiste Daroussinlibrary if no other file is specified.
311d0ef721eSBaptiste Daroussin.El
312d0ef721eSBaptiste Daroussin.Sh SEE ALSO
313d0ef721eSBaptiste Daroussin.Xr editline 3 ,
314d0ef721eSBaptiste Daroussin.Xr regex 3 ,
315d0ef721eSBaptiste Daroussin.Xr termcap 5 ,
316d0ef721eSBaptiste Daroussin.Xr editline 7
317d0ef721eSBaptiste Daroussin.Sh AUTHORS
318d0ef721eSBaptiste Daroussin.An -nosplit
319d0ef721eSBaptiste DaroussinThe
320d0ef721eSBaptiste Daroussin.Nm editline
321d0ef721eSBaptiste Daroussinlibrary was written by
322d0ef721eSBaptiste Daroussin.An Christos Zoulas ,
323d0ef721eSBaptiste Daroussinand this manual was written by
324d0ef721eSBaptiste Daroussin.An Luke Mewburn ,
325d0ef721eSBaptiste Daroussinwith some sections inspired by
326d0ef721eSBaptiste Daroussin.Xr tcsh 1 .
327