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