.\" $OpenBSD: editrc.5,v 1.14 2003/05/10 18:42:24 jmc Exp $ .\" $NetBSD: editrc.5,v 1.4 1997/04/24 20:20:31 christos Exp $ .\" .\" Copyright (c) 1997 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. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the NetBSD .\" Foundation, Inc. and its contributors. .\" 4. Neither the name of The NetBSD Foundation nor the names of its .\" contributors may be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" .\" 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 REGENTS 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 January 11, 1997 .Dt EDITRC 5 .Os .Sh NAME .Nm editrc .Nd configuration file for editline library .Sh SYNOPSIS .Nm editrc .Sh DESCRIPTION The .Nm file defines various settings to be used by the .Xr editline 3 library. .Pp The format of each line is either: .Dl prog:command [arg [...]] or .Dl command [arg [...]] .Pp .Ar command is one of the .Xr editline 3 built-in commands. Refer to .Sx BUILT-IN 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[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. .Sh BUILT-IN COMMANDS The .Nm editline library has some built-in commands, which affect the way that the line editing and history functions operate. These are based on similarly named built-in commands present in the .Xr tcsh shell. .Pp The following built-in commands are available: .Bl -tag -width 4n .It Ic bind Xo .Op Fl a .Op Fl e .Op Fl k .Op Fl l .Op Fl r .Op Fl s .Op Fl v .Op Ar key Op Ar command .Xc Without options, list all bound keys, and the editor command to which each is bound. If .Ar key is supplied, show the bindings for .Ar key . If .Ar key command is supplied, bind .Ar command to .Ar key . Options include: .Bl -tag -width 4n .It Fl e Bind all keys to the standard GNU Emacs-like bindings. .It Fl v Bind all keys to the standard .Xr vi 1 -like bindings. .It Fl a List or change key bindings in the .Xr vi 1 mode alternate (command mode) key map. .It Fl k .Ar key is interpreted as a symbolic arrow key name, which may be one of .Sq up , .Sq down , .Sq left or .Sq right . .It Fl l List all editor commands and a short description of each. .It Fl r Remove a key's binding. .It Fl s .Ar command is taken as a literal string and treated as terminal input when .Ar key is typed. Bound keys in .Ar command are themselves reinterpreted, and this continues for ten levels of interpretation. .El .Pp .Ar key and .Ar command can contain control characters of the form .Sm off .Sq No ^ Ar character .Sm on .Po e.g., .Sq ^A .Pc , and the following backslashed escape sequences: .Pp .Bl -tag -compact -offset indent -width 4n .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 Sy \e Ar nnn .Sm on The ASCII character corresponding to the octal number .Ar nnn . .El .Pp .Sq \e nullifies the special meaning of the following character, if it has any, notably .Sq \e and .Sq ^ . .It Ic echotc Xo .Op Fl sv .Ar arg .Ar ... .Xc Exercise terminal capabilities given in .Ar arg Ar ... . If .Ar arg is .Sq baud , .Sq cols , .Sq lines , .Sq rows , .Sq meta or .Sq 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 emptry string for non-existent capabilities, rather than causing an error. .Fl v causes messages to be verbose. .It Ic history List the history. .It Ic telltc List the values of all the terminal capabilities (see .Xr termcap 5 ) . .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 Xo .Op Fl a .Op Fl d .Op Fl q .Op Fl x .Op Ar +mode .Op Ar -mode .Op Ar mode .Xc 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 .Sq +mode .Pc or off .Po .Sq -mode .Pc . .Fl a lists all tty modes in the chosen set regardless of the setting. With .Ar +mode , .Ar -mode or .Ar mode , fixes .Ar mode on or off or removes control of .Ar mode in the chosen set. .El .Sh SEE ALSO .Xr editline 3 , .Xr regex 3 , .Xr termcap 5 .Sh AUTHORS The .Nm editline library was written by Christos Zoulas, and this manual was written by Luke Mewburn, with some sections inspired by .Xr tcsh .