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