\" $NetBSD: editrc.5,v 1.34 2022/12/06 00:59:20 uwe Exp $
\"
\" Copyright (c) 1997-2000 The NetBSD Foundation, Inc.
\" All rights reserved.
\"
\" This file was contributed to The NetBSD Foundation by Luke Mewburn.
\"
\" Redistribution and use in source and binary forms, with or without
\" modification, are permitted provided that the following conditions
\" are met:
\" 1. Redistributions of source code must retain the above copyright
\" notice, this list of conditions and the following disclaimer.
\" 2. Redistributions in binary form must reproduce the above copyright
\" notice, this list of conditions and the following disclaimer in the
\" documentation and/or other materials provided with the distribution.
\"
\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
\" POSSIBILITY OF SUCH DAMAGE.
\"
Dd May 22, 2016
Dt EDITRC 5
Os
Sh NAME
Nm editrc
Nd configuration file for editline library
Sh SYNOPSIS
Nm
Sh DESCRIPTION
The
Nm
file defines various settings to be used by the
Xr editline 3
library.
Pp
The format of each line is:
Pp
D1 Oo Ar prog Ns Ic \&: Oc Ns Ar command Oo Ar arg ... Oc
Pp
Ar command
is one of the
Xr editline 3
builtin commands.
Refer to
Sx BUILTIN COMMANDS
for more information.
Pp
Ar prog
is the program name string that a program defines when it calls
Xr el_init 3
to set up
Xr editline 3 ,
which is usually
Va argv Ns Li [0] .
Ar command
will be executed for any program which matches
Ar prog .
Pp
Ar prog
may also be a
Xr regex 3
style
regular expression, in which case
Ar command
will be executed for any program that matches the regular expression.
Pp
If
Ar prog
is absent,
Ar command
is executed for all programs.
Sh BUILTIN COMMANDS
The
Nm editline
library has some builtin commands, which affect the way
that the line editing and history functions operate.
These are based on similar named builtins present in the
Xr tcsh 1
shell.
Pp
The following builtin commands are available:
Bl -tag -width 4n
It Ic bind Oo Fl aeklrsv Oc Op Ar key Op Ar command
Without options and arguments, list all bound keys and macros, and
the editor command or input string to which each one is bound.
If only
Ar key
is supplied, show the binding for that key or macro.
If
Ar key command
is supplied, bind the editor
Ar command
to that key or macro.
Pp
The options are as follows:
Bl -tag -width 4n
It Fl a
List or change key bindings in the
Xr vi 1
mode alternate (command mode) key map.
It Fl e
Bind all keys to the standard
Tn GNU
Emacs-like bindings.
It Fl k
Ar key
is interpreted as a symbolic arrow key name, which may be one of
Ic up ,
Ic down ,
Ic left
or
Ic right .
It Fl l
List all editor commands and a short description of each.
It Fl r
Remove the binding of the key or macro
Ar key .
It Fl s
Define a keyboard macro rather than a key binding or command macro:
Ar command
is taken as a literal string and appended to the input queue whenever
Ar key
is typed.
Bound keys and macros in
Ar command
are themselves reinterpreted, and this continues for ten levels of
interpretation.
It Fl v
Bind all keys to the standard
Xr vi 1 Ns -like
bindings.
El
Pp
The
Xr editline 7
manual documents all editor commands and contains more information
about macros and the input queue.
Pp
Ar key
and
Ar command
can contain control characters of the form
Sq Ic ^ Ns Ar character
Po
e.g.\&
Ql ^A
Pc ,
and the following backslashed escape sequences:
Pp
Bl -tag -compact -offset indent -width Ic
It Ic \ea
Bell
It Ic \eb
Backspace
It Ic \ee
Escape
It Ic \ef
Formfeed
It Ic \en
Newline
It Ic \er
Carriage return
It Ic \et
Horizontal tab
It Ic \ev
Vertical tab
Sm off
It Ic \e Ar nnn
Sm on
The
Tn ASCII
character corresponding to the octal number
Ar nnn .
El
Pp
Ql \e
nullifies the special meaning of the following character,
if it has any, notably
Ql \e
and
Ql ^ .
It Ic echotc Oo Fl sv Oc Ar arg Ar ...
Exercise terminal capabilities given in
Ar arg .
If
Ar arg
is
Ql baud ,
Ql cols ,
Ql lines ,
Ql rows ,
Ql meta ,
or
Ql tabs ,
the value of that capability is printed, with
Dq yes
or
Dq no
indicating that the terminal does or does not have that capability.
Pp
Fl s
returns an empty string for non-existent capabilities, rather than
causing an error.
Fl v
causes messages to be verbose.
It Ic edit Op Li on No | Li off
Enable or disable the
Nm editline
functionality in a program.
It Ic history Li list No | Li size Ar n No | Li unique Ar n
The
Ql list
command lists all entries in the history.
The
Ql size
command sets the history size to
Ar n
entries.
The
Ql unique
command controls if history should keep duplicate entries.
If
Ar n
is non zero, only keep unique history entries.
If
Ar n
is zero, then keep all entries (the default).
It Ic settc Ar cap Ar val
Set the terminal capability
Ar cap
to
Ar val ,
as defined in
Xr termcap 5 .
No sanity checking is done.
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 \
Oo Fl Ar mode Oc Oo Ar mode Oc Oo Ar char\| Ns Ic = Ns Ar c Oc
Control which tty modes that
Nm
won't allow the user to change.
Fl d ,
Fl q
or
Fl x
tells
Ic setty
to act on the
Sq edit ,
Sq quote
or
Sq execute
set of tty modes respectively; defaulting to
Fl x .
Pp
Without other arguments,
Ic setty
lists the modes in the chosen set which are fixed on
Po
Ic + Ns Ar mode
Pc
or off
Po
Fl Ns Ar mode
Pc .
Fl a
lists all tty modes in the chosen set regardless of the setting.
With
Ic + Ns Ar mode ,
Fl Ns Ar mode
or
Ar mode ,
fixes
Ar mode
on or off or removes control of
Ar mode
in the chosen set.
Pp
Ic Setty
can also be used to set tty characters to particular values using
Ar char\| Ns Ic = Ns Ar value .
If
Ar value
is empty
then the character is set to
Dv _POSIX_VDISABLE .
It Ic telltc
List the values of all the terminal capabilities (see
Xr termcap 5 ) .
El
Sh ENVIRONMENT
Bl -tag -width Ev
It Ev EDITRC
Names the default configuration file for the
Xr editline 3
library.
El
Sh FILES
Bl -tag -width Pa
It Pa ~/.editrc
Last resort user configuration file for the
Xr editline 3
library if no other file is specified.
El
Sh SEE ALSO
Xr editline 3 ,
Xr regex 3 ,
Xr termcap 5 ,
Xr editline 7
Sh AUTHORS
An -nosplit
The
Nm editline
library was written by
An Christos Zoulas ,
and this manual was written by
An Luke Mewburn ,
with some sections inspired by
Xr tcsh 1 .