1.\" $NetBSD: editrc.5,v 1.34 2022/12/06 00:59:20 uwe 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 May 22, 2016 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.D1 Oo Ar prog Ns Ic \&: Oc Ns Ar command Oo Ar arg ... Oc 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 Ns Li [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 aeklrsv Oc Op Ar key Op Ar command 92Without options and arguments, list all bound keys and macros, and 93the editor command or input string to which each one is bound. 94If only 95.Ar key 96is supplied, show the binding for that key or macro. 97If 98.Ar key command 99is supplied, bind the editor 100.Ar command 101to that key or macro. 102.Pp 103The options are as follows: 104.Bl -tag -width 4n 105.It Fl a 106List or change key bindings in the 107.Xr vi 1 108mode alternate (command mode) key map. 109.It Fl e 110Bind all keys to the standard 111.Tn GNU 112Emacs-like bindings. 113.It Fl k 114.Ar key 115is interpreted as a symbolic arrow key name, which may be one of 116.Ic up , 117.Ic down , 118.Ic left 119or 120.Ic right . 121.It Fl l 122List all editor commands and a short description of each. 123.It Fl r 124Remove the binding of the key or macro 125.Ar key . 126.It Fl s 127Define a keyboard macro rather than a key binding or command macro: 128.Ar command 129is taken as a literal string and appended to the input queue whenever 130.Ar key 131is typed. 132Bound keys and macros in 133.Ar command 134are themselves reinterpreted, and this continues for ten levels of 135interpretation. 136.It Fl v 137Bind all keys to the standard 138.Xr vi 1 Ns -like 139bindings. 140.El 141.Pp 142The 143.Xr editline 7 144manual documents all editor commands and contains more information 145about macros and the input queue. 146.Pp 147.Ar key 148and 149.Ar command 150can contain control characters of the form 151.Sq Ic ^ Ns Ar character 152.Po 153e.g.\& 154.Ql ^A 155.Pc , 156and the following backslashed escape sequences: 157.Pp 158.Bl -tag -compact -offset indent -width Ic 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 Ic \e Ar nnn 177.Sm on 178The 179.Tn ASCII 180character corresponding to the octal number 181.Ar nnn . 182.El 183.Pp 184.Ql \e 185nullifies the special meaning of the following character, 186if it has any, notably 187.Ql \e 188and 189.Ql ^ . 190.It Ic echotc Oo Fl sv Oc Ar arg Ar ... 191Exercise terminal capabilities given in 192.Ar arg . 193If 194.Ar arg 195is 196.Ql baud , 197.Ql cols , 198.Ql lines , 199.Ql rows , 200.Ql meta , 201or 202.Ql tabs , 203the value of that capability is printed, with 204.Dq yes 205or 206.Dq no 207indicating that the terminal does or does not have that capability. 208.Pp 209.Fl s 210returns an empty string for non-existent capabilities, rather than 211causing an error. 212.Fl v 213causes messages to be verbose. 214.It Ic edit Op Li on No | Li off 215Enable or disable the 216.Nm editline 217functionality in a program. 218.It Ic history Li list No | Li size Ar n No | Li unique Ar n 219The 220.Ql list 221command lists all entries in the history. 222The 223.Ql size 224command sets the history size to 225.Ar n 226entries. 227The 228.Ql unique 229command controls if history should keep duplicate entries. 230If 231.Ar n 232is non zero, only keep unique history entries. 233If 234.Ar n 235is zero, then keep all entries (the default). 236.It Ic settc Ar cap Ar val 237Set the terminal capability 238.Ar cap 239to 240.Ar val , 241as defined in 242.Xr termcap 5 . 243No sanity checking is done. 244.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 \ 245Oo Fl Ar mode Oc Oo Ar mode Oc Oo Ar char\| Ns Ic = Ns Ar c Oc 246Control which tty modes that 247.Nm 248won't allow the user to change. 249.Fl d , 250.Fl q 251or 252.Fl x 253tells 254.Ic setty 255to act on the 256.Sq edit , 257.Sq quote 258or 259.Sq execute 260set of tty modes respectively; defaulting to 261.Fl x . 262.Pp 263Without other arguments, 264.Ic setty 265lists the modes in the chosen set which are fixed on 266.Po 267.Ic + Ns Ar mode 268.Pc 269or off 270.Po 271.Fl Ns Ar mode 272.Pc . 273.Fl a 274lists all tty modes in the chosen set regardless of the setting. 275With 276.Ic + Ns Ar mode , 277.Fl Ns Ar mode 278or 279.Ar mode , 280fixes 281.Ar mode 282on or off or removes control of 283.Ar mode 284in the chosen set. 285.Pp 286.Ic Setty 287can also be used to set tty characters to particular values using 288.Ar char\| Ns Ic = Ns Ar value . 289If 290.Ar value 291is empty 292then the character is set to 293.Dv _POSIX_VDISABLE . 294.It Ic telltc 295List the values of all the terminal capabilities (see 296.Xr termcap 5 ) . 297.El 298.Sh ENVIRONMENT 299.Bl -tag -width Ev 300.It Ev EDITRC 301Names the default configuration file for the 302.Xr editline 3 303library. 304.El 305.Sh FILES 306.Bl -tag -width Pa 307.It Pa ~/.editrc 308Last resort user configuration file for the 309.Xr editline 3 310library if no other file is specified. 311.El 312.Sh SEE ALSO 313.Xr editline 3 , 314.Xr regex 3 , 315.Xr termcap 5 , 316.Xr editline 7 317.Sh AUTHORS 318.An -nosplit 319The 320.Nm editline 321library was written by 322.An Christos Zoulas , 323and this manual was written by 324.An Luke Mewburn , 325with some sections inspired by 326.Xr tcsh 1 . 327