xref: /minix3/lib/libedit/editrc.5 (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1.\"	$NetBSD: editrc.5,v 1.29 2014/12/25 13:39:41 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.\"
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 December 25, 2014
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 a Oc Oo Fl e Oc Oo Fl k Oc Oo Fl l Oc Oo Fl r Oc \
92Oo Fl s Oc Oo Fl v Oc Oo Ar key Oo Ar command Oc Oc
93Without options, list all bound keys, and the editor command to which
94each is bound.
95If
96.Ar key
97is supplied, show the bindings for
98.Ar key .
99If
100.Ar key command
101is supplied, bind
102.Ar command
103to
104.Ar key .
105Options include:
106.Bl -tag -width 4n
107.It Fl a
108List or change key bindings in the
109.Xr vi 1
110mode alternate (command mode) key map.
111.It Fl e
112Bind all keys to the standard GNU Emacs-like bindings.
113.It Fl k
114.Ar key
115is interpreted as a symbolic arrow key name, which may be one of
116.Sq up ,
117.Sq down ,
118.Sq left
119or
120.Sq right .
121.It Fl l
122List all editor commands and a short description of each.
123.It Fl r
124Remove a key's binding.
125.It Fl s
126.Ar command
127is taken as a literal string and treated as terminal input when
128.Ar key
129is typed.
130Bound keys 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
140.Ar command
141may be one of the commands documented in
142.Sx "EDITOR COMMANDS"
143below, or another key.
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 EDITOR COMMANDS
297The following editor commands are available for use in key bindings:
298.\" Section automatically generated with makelist
299.Bl -tag -width 4n
300.It Ic vi-paste-next
301Vi paste previous deletion to the right of the cursor.
302.It Ic vi-paste-prev
303Vi paste previous deletion to the left of the cursor.
304.It Ic vi-prev-big-word
305Vi move to the previous space delimited word.
306.It Ic vi-prev-word
307Vi move to the previous word.
308.It Ic vi-next-big-word
309Vi move to the next space delimited word.
310.It Ic vi-next-word
311Vi move to the next word.
312.It Ic vi-change-case
313Vi change case of character under the cursor and advance one character.
314.It Ic vi-change-meta
315Vi change prefix command.
316.It Ic vi-insert-at-bol
317Vi enter insert mode at the beginning of line.
318.It Ic vi-replace-char
319Vi replace character under the cursor with the next character typed.
320.It Ic vi-replace-mode
321Vi enter replace mode.
322.It Ic vi-substitute-char
323Vi replace character under the cursor and enter insert mode.
324.It Ic vi-substitute-line
325Vi substitute entire line.
326.It Ic vi-change-to-eol
327Vi change to end of line.
328.It Ic vi-insert
329Vi enter insert mode.
330.It Ic vi-add
331Vi enter insert mode after the cursor.
332.It Ic vi-add-at-eol
333Vi enter insert mode at end of line.
334.It Ic vi-delete-meta
335Vi delete prefix command.
336.It Ic vi-end-big-word
337Vi move to the end of the current space delimited word.
338.It Ic vi-end-word
339Vi move to the end of the current word.
340.It Ic vi-undo
341Vi undo last change.
342.It Ic vi-command-mode
343Vi enter command mode (use alternative key bindings).
344.It Ic vi-zero
345Vi move to the beginning of line.
346.It Ic vi-delete-prev-char
347Vi move to previous character (backspace).
348.It Ic vi-list-or-eof
349Vi list choices for completion or indicate end of file if empty line.
350.It Ic vi-kill-line-prev
351Vi cut from beginning of line to cursor.
352.It Ic vi-search-prev
353Vi search history previous.
354.It Ic vi-search-next
355Vi search history next.
356.It Ic vi-repeat-search-next
357Vi repeat current search in the same search direction.
358.It Ic vi-repeat-search-prev
359Vi repeat current search in the opposite search direction.
360.It Ic vi-next-char
361Vi move to the character specified next.
362.It Ic vi-prev-char
363Vi move to the character specified previous.
364.It Ic vi-to-next-char
365Vi move up to the character specified next.
366.It Ic vi-to-prev-char
367Vi move up to the character specified previous.
368.It Ic vi-repeat-next-char
369Vi repeat current character search in the same search direction.
370.It Ic vi-repeat-prev-char
371Vi repeat current character search in the opposite search direction.
372.It Ic vi-match
373Vi go to matching () {} or [].
374.It Ic vi-undo-line
375Vi undo all changes to line.
376.It Ic vi-to-column
377Vi go to specified column.
378.It Ic vi-yank-end
379Vi yank to end of line.
380.It Ic vi-yank
381Vi yank.
382.It Ic vi-comment-out
383Vi comment out current command.
384.It Ic vi-alias
385Vi include shell alias.
386.It Ic vi-to-history-line
387Vi go to specified history file line..
388.It Ic vi-histedit
389Vi edit history line with vi.
390.It Ic vi-history-word
391Vi append word from previous input line.
392.It Ic vi-redo
393Vi redo last non-motion command.
394.It Ic em-delete-or-list
395Delete character under cursor or list completions if at end of line.
396.It Ic em-delete-next-word
397Cut from cursor to end of current word.
398.It Ic em-yank
399Paste cut buffer at cursor position.
400.It Ic em-kill-line
401Cut the entire line and save in cut buffer.
402.It Ic em-kill-region
403Cut area between mark and cursor and save in cut buffer.
404.It Ic em-copy-region
405Copy area between mark and cursor to cut buffer.
406.It Ic em-gosmacs-transpose
407Exchange the two characters before the cursor.
408.It Ic em-next-word
409Move next to end of current word.
410.It Ic em-upper-case
411Uppercase the characters from cursor to end of current word.
412.It Ic em-capitol-case
413Capitalize the characters from cursor to end of current word.
414.It Ic em-lower-case
415Lowercase the characters from cursor to end of current word.
416.It Ic em-set-mark
417Set the mark at cursor.
418.It Ic em-exchange-mark
419Exchange the cursor and mark.
420.It Ic em-universal-argument
421Universal argument (argument times 4).
422.It Ic em-meta-next
423Add 8th bit to next character typed.
424.It Ic em-toggle-overwrite
425Switch from insert to overwrite mode or vice versa.
426.It Ic em-copy-prev-word
427Copy current word to cursor.
428.It Ic em-inc-search-next
429Emacs incremental next search.
430.It Ic em-inc-search-prev
431Emacs incremental reverse search.
432.It Ic ed-end-of-file
433Indicate end of file.
434.It Ic ed-insert
435Add character to the line.
436.It Ic ed-delete-prev-word
437Delete from beginning of current word to cursor.
438.It Ic ed-delete-next-char
439Delete character under cursor.
440.It Ic ed-kill-line
441Cut to the end of line.
442.It Ic ed-move-to-end
443Move cursor to the end of line.
444.It Ic ed-move-to-beg
445Move cursor to the beginning of line.
446.It Ic ed-transpose-chars
447Exchange the character to the left of the cursor with the one under it.
448.It Ic ed-next-char
449Move to the right one character.
450.It Ic ed-prev-word
451Move to the beginning of the current word.
452.It Ic ed-prev-char
453Move to the left one character.
454.It Ic ed-quoted-insert
455Add the next character typed verbatim.
456.It Ic ed-digit
457Adds to argument or enters a digit.
458.It Ic ed-argument-digit
459Digit that starts argument.
460.It Ic ed-unassigned
461Indicates unbound character.
462.It Ic ed-tty-sigint
463Tty interrupt character.
464.It Ic ed-tty-dsusp
465Tty delayed suspend character.
466.It Ic ed-tty-flush-output
467Tty flush output characters.
468.It Ic ed-tty-sigquit
469Tty quit character.
470.It Ic ed-tty-sigtstp
471Tty suspend character.
472.It Ic ed-tty-stop-output
473Tty disallow output characters.
474.It Ic ed-tty-start-output
475Tty allow output characters.
476.It Ic ed-newline
477Execute command.
478.It Ic ed-delete-prev-char
479Delete the character to the left of the cursor.
480.It Ic ed-clear-screen
481Clear screen leaving current line at the top.
482.It Ic ed-redisplay
483Redisplay everything.
484.It Ic ed-start-over
485Erase current line and start from scratch.
486.It Ic ed-sequence-lead-in
487First character in a bound sequence.
488.It Ic ed-prev-history
489Move to the previous history line.
490.It Ic ed-next-history
491Move to the next history line.
492.It Ic ed-search-prev-history
493Search previous in history for a line matching the current.
494.It Ic ed-search-next-history
495Search next in history for a line matching the current.
496.It Ic ed-prev-line
497Move up one line.
498.It Ic ed-next-line
499Move down one line.
500.It Ic ed-command
501Editline extended command.
502.El
503.\" End of section automatically generated with makelist
504.Sh FILES
505.Bl -tag -width "~/.editrcXXX"
506.It Pa ~/.editrc
507User configuration file for the
508.Xr editline 3
509library.
510.El
511.Sh SEE ALSO
512.Xr editline 3 ,
513.Xr regex 3 ,
514.Xr termcap 5
515.Sh AUTHORS
516.An -nosplit
517The
518.Nm editline
519library was written by
520.An Christos Zoulas ,
521and this manual was written by
522.An Luke Mewburn ,
523with some sections inspired by
524.Xr tcsh 1 .
525