1*baff8195SBaptiste Daroussin.\" $NetBSD: editrc.5,v 1.34 2022/12/06 00:59:20 uwe Exp $ 2d0ef721eSBaptiste Daroussin.\" 3d0ef721eSBaptiste Daroussin.\" Copyright (c) 1997-2000 The NetBSD Foundation, Inc. 4d0ef721eSBaptiste Daroussin.\" All rights reserved. 5d0ef721eSBaptiste Daroussin.\" 6d0ef721eSBaptiste Daroussin.\" This file was contributed to The NetBSD Foundation by Luke Mewburn. 7d0ef721eSBaptiste Daroussin.\" 8d0ef721eSBaptiste Daroussin.\" Redistribution and use in source and binary forms, with or without 9d0ef721eSBaptiste Daroussin.\" modification, are permitted provided that the following conditions 10d0ef721eSBaptiste Daroussin.\" are met: 11d0ef721eSBaptiste Daroussin.\" 1. Redistributions of source code must retain the above copyright 12d0ef721eSBaptiste Daroussin.\" notice, this list of conditions and the following disclaimer. 13d0ef721eSBaptiste Daroussin.\" 2. Redistributions in binary form must reproduce the above copyright 14d0ef721eSBaptiste Daroussin.\" notice, this list of conditions and the following disclaimer in the 15d0ef721eSBaptiste Daroussin.\" documentation and/or other materials provided with the distribution. 16d0ef721eSBaptiste Daroussin.\" 17d0ef721eSBaptiste Daroussin.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 18d0ef721eSBaptiste Daroussin.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 19d0ef721eSBaptiste Daroussin.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 20d0ef721eSBaptiste Daroussin.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 21d0ef721eSBaptiste Daroussin.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22d0ef721eSBaptiste Daroussin.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23d0ef721eSBaptiste Daroussin.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24d0ef721eSBaptiste Daroussin.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25d0ef721eSBaptiste Daroussin.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26d0ef721eSBaptiste Daroussin.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27d0ef721eSBaptiste Daroussin.\" POSSIBILITY OF SUCH DAMAGE. 28d0ef721eSBaptiste Daroussin.\" 29d0ef721eSBaptiste Daroussin.Dd May 22, 2016 30d0ef721eSBaptiste Daroussin.Dt EDITRC 5 31d0ef721eSBaptiste Daroussin.Os 32d0ef721eSBaptiste Daroussin.Sh NAME 33d0ef721eSBaptiste Daroussin.Nm editrc 34d0ef721eSBaptiste Daroussin.Nd configuration file for editline library 35d0ef721eSBaptiste Daroussin.Sh SYNOPSIS 36d0ef721eSBaptiste Daroussin.Nm 37d0ef721eSBaptiste Daroussin.Sh DESCRIPTION 38d0ef721eSBaptiste DaroussinThe 39d0ef721eSBaptiste Daroussin.Nm 40d0ef721eSBaptiste Daroussinfile defines various settings to be used by the 41d0ef721eSBaptiste Daroussin.Xr editline 3 42d0ef721eSBaptiste Daroussinlibrary. 43d0ef721eSBaptiste Daroussin.Pp 44d0ef721eSBaptiste DaroussinThe format of each line is: 45d0ef721eSBaptiste Daroussin.Pp 46*baff8195SBaptiste Daroussin.D1 Oo Ar prog Ns Ic \&: Oc Ns Ar command Oo Ar arg ... Oc 47d0ef721eSBaptiste Daroussin.Pp 48d0ef721eSBaptiste Daroussin.Ar command 49d0ef721eSBaptiste Daroussinis one of the 50d0ef721eSBaptiste Daroussin.Xr editline 3 51d0ef721eSBaptiste Daroussinbuiltin commands. 52d0ef721eSBaptiste DaroussinRefer to 53d0ef721eSBaptiste Daroussin.Sx BUILTIN COMMANDS 54d0ef721eSBaptiste Daroussinfor more information. 55d0ef721eSBaptiste Daroussin.Pp 56d0ef721eSBaptiste Daroussin.Ar prog 57d0ef721eSBaptiste Daroussinis the program name string that a program defines when it calls 58d0ef721eSBaptiste Daroussin.Xr el_init 3 59d0ef721eSBaptiste Daroussinto set up 60d0ef721eSBaptiste Daroussin.Xr editline 3 , 61d0ef721eSBaptiste Daroussinwhich is usually 62*baff8195SBaptiste Daroussin.Va argv Ns Li [0] . 63d0ef721eSBaptiste Daroussin.Ar command 64d0ef721eSBaptiste Daroussinwill be executed for any program which matches 65d0ef721eSBaptiste Daroussin.Ar prog . 66d0ef721eSBaptiste Daroussin.Pp 67d0ef721eSBaptiste Daroussin.Ar prog 68d0ef721eSBaptiste Daroussinmay also be a 69d0ef721eSBaptiste Daroussin.Xr regex 3 70d0ef721eSBaptiste Daroussinstyle 71d0ef721eSBaptiste Daroussinregular expression, in which case 72d0ef721eSBaptiste Daroussin.Ar command 73d0ef721eSBaptiste Daroussinwill be executed for any program that matches the regular expression. 74d0ef721eSBaptiste Daroussin.Pp 75d0ef721eSBaptiste DaroussinIf 76d0ef721eSBaptiste Daroussin.Ar prog 77d0ef721eSBaptiste Daroussinis absent, 78d0ef721eSBaptiste Daroussin.Ar command 79d0ef721eSBaptiste Daroussinis executed for all programs. 80d0ef721eSBaptiste Daroussin.Sh BUILTIN COMMANDS 81d0ef721eSBaptiste DaroussinThe 82d0ef721eSBaptiste Daroussin.Nm editline 83d0ef721eSBaptiste Daroussinlibrary has some builtin commands, which affect the way 84d0ef721eSBaptiste Daroussinthat the line editing and history functions operate. 85d0ef721eSBaptiste DaroussinThese are based on similar named builtins present in the 86d0ef721eSBaptiste Daroussin.Xr tcsh 1 87d0ef721eSBaptiste Daroussinshell. 88d0ef721eSBaptiste Daroussin.Pp 89d0ef721eSBaptiste DaroussinThe following builtin commands are available: 90d0ef721eSBaptiste Daroussin.Bl -tag -width 4n 91d0ef721eSBaptiste Daroussin.It Ic bind Oo Fl aeklrsv Oc Op Ar key Op Ar command 92d0ef721eSBaptiste DaroussinWithout options and arguments, list all bound keys and macros, and 93d0ef721eSBaptiste Daroussinthe editor command or input string to which each one is bound. 94d0ef721eSBaptiste DaroussinIf only 95d0ef721eSBaptiste Daroussin.Ar key 96d0ef721eSBaptiste Daroussinis supplied, show the binding for that key or macro. 97d0ef721eSBaptiste DaroussinIf 98d0ef721eSBaptiste Daroussin.Ar key command 99d0ef721eSBaptiste Daroussinis supplied, bind the editor 100d0ef721eSBaptiste Daroussin.Ar command 101d0ef721eSBaptiste Daroussinto that key or macro. 102d0ef721eSBaptiste Daroussin.Pp 103d0ef721eSBaptiste DaroussinThe options are as follows: 104d0ef721eSBaptiste Daroussin.Bl -tag -width 4n 105d0ef721eSBaptiste Daroussin.It Fl a 106d0ef721eSBaptiste DaroussinList or change key bindings in the 107d0ef721eSBaptiste Daroussin.Xr vi 1 108d0ef721eSBaptiste Daroussinmode alternate (command mode) key map. 109d0ef721eSBaptiste Daroussin.It Fl e 110*baff8195SBaptiste DaroussinBind all keys to the standard 111*baff8195SBaptiste Daroussin.Tn GNU 112*baff8195SBaptiste DaroussinEmacs-like bindings. 113d0ef721eSBaptiste Daroussin.It Fl k 114d0ef721eSBaptiste Daroussin.Ar key 115d0ef721eSBaptiste Daroussinis interpreted as a symbolic arrow key name, which may be one of 116*baff8195SBaptiste Daroussin.Ic up , 117*baff8195SBaptiste Daroussin.Ic down , 118*baff8195SBaptiste Daroussin.Ic left 119d0ef721eSBaptiste Daroussinor 120*baff8195SBaptiste Daroussin.Ic right . 121d0ef721eSBaptiste Daroussin.It Fl l 122d0ef721eSBaptiste DaroussinList all editor commands and a short description of each. 123d0ef721eSBaptiste Daroussin.It Fl r 124d0ef721eSBaptiste DaroussinRemove the binding of the key or macro 125d0ef721eSBaptiste Daroussin.Ar key . 126d0ef721eSBaptiste Daroussin.It Fl s 127d0ef721eSBaptiste DaroussinDefine a keyboard macro rather than a key binding or command macro: 128d0ef721eSBaptiste Daroussin.Ar command 129d0ef721eSBaptiste Daroussinis taken as a literal string and appended to the input queue whenever 130d0ef721eSBaptiste Daroussin.Ar key 131d0ef721eSBaptiste Daroussinis typed. 132d0ef721eSBaptiste DaroussinBound keys and macros in 133d0ef721eSBaptiste Daroussin.Ar command 134d0ef721eSBaptiste Daroussinare themselves reinterpreted, and this continues for ten levels of 135d0ef721eSBaptiste Daroussininterpretation. 136d0ef721eSBaptiste Daroussin.It Fl v 137d0ef721eSBaptiste DaroussinBind all keys to the standard 138d0ef721eSBaptiste Daroussin.Xr vi 1 Ns -like 139d0ef721eSBaptiste Daroussinbindings. 140d0ef721eSBaptiste Daroussin.El 141d0ef721eSBaptiste Daroussin.Pp 142d0ef721eSBaptiste DaroussinThe 143d0ef721eSBaptiste Daroussin.Xr editline 7 144d0ef721eSBaptiste Daroussinmanual documents all editor commands and contains more information 145d0ef721eSBaptiste Daroussinabout macros and the input queue. 146d0ef721eSBaptiste Daroussin.Pp 147d0ef721eSBaptiste Daroussin.Ar key 148d0ef721eSBaptiste Daroussinand 149d0ef721eSBaptiste Daroussin.Ar command 150d0ef721eSBaptiste Daroussincan contain control characters of the form 151*baff8195SBaptiste Daroussin.Sq Ic ^ Ns Ar character 152d0ef721eSBaptiste Daroussin.Po 153d0ef721eSBaptiste Daroussine.g.\& 154*baff8195SBaptiste Daroussin.Ql ^A 155d0ef721eSBaptiste Daroussin.Pc , 156d0ef721eSBaptiste Daroussinand the following backslashed escape sequences: 157d0ef721eSBaptiste Daroussin.Pp 158*baff8195SBaptiste Daroussin.Bl -tag -compact -offset indent -width Ic 159d0ef721eSBaptiste Daroussin.It Ic \ea 160d0ef721eSBaptiste DaroussinBell 161d0ef721eSBaptiste Daroussin.It Ic \eb 162d0ef721eSBaptiste DaroussinBackspace 163d0ef721eSBaptiste Daroussin.It Ic \ee 164d0ef721eSBaptiste DaroussinEscape 165d0ef721eSBaptiste Daroussin.It Ic \ef 166d0ef721eSBaptiste DaroussinFormfeed 167d0ef721eSBaptiste Daroussin.It Ic \en 168d0ef721eSBaptiste DaroussinNewline 169d0ef721eSBaptiste Daroussin.It Ic \er 170d0ef721eSBaptiste DaroussinCarriage return 171d0ef721eSBaptiste Daroussin.It Ic \et 172d0ef721eSBaptiste DaroussinHorizontal tab 173d0ef721eSBaptiste Daroussin.It Ic \ev 174d0ef721eSBaptiste DaroussinVertical tab 175d0ef721eSBaptiste Daroussin.Sm off 176*baff8195SBaptiste Daroussin.It Ic \e Ar nnn 177d0ef721eSBaptiste Daroussin.Sm on 178*baff8195SBaptiste DaroussinThe 179*baff8195SBaptiste Daroussin.Tn ASCII 180*baff8195SBaptiste Daroussincharacter corresponding to the octal number 181d0ef721eSBaptiste Daroussin.Ar nnn . 182d0ef721eSBaptiste Daroussin.El 183d0ef721eSBaptiste Daroussin.Pp 184*baff8195SBaptiste Daroussin.Ql \e 185d0ef721eSBaptiste Daroussinnullifies the special meaning of the following character, 186d0ef721eSBaptiste Daroussinif it has any, notably 187*baff8195SBaptiste Daroussin.Ql \e 188d0ef721eSBaptiste Daroussinand 189*baff8195SBaptiste Daroussin.Ql ^ . 190d0ef721eSBaptiste Daroussin.It Ic echotc Oo Fl sv Oc Ar arg Ar ... 191d0ef721eSBaptiste DaroussinExercise terminal capabilities given in 192*baff8195SBaptiste Daroussin.Ar arg . 193d0ef721eSBaptiste DaroussinIf 194d0ef721eSBaptiste Daroussin.Ar arg 195d0ef721eSBaptiste Daroussinis 196*baff8195SBaptiste Daroussin.Ql baud , 197*baff8195SBaptiste Daroussin.Ql cols , 198*baff8195SBaptiste Daroussin.Ql lines , 199*baff8195SBaptiste Daroussin.Ql rows , 200*baff8195SBaptiste Daroussin.Ql meta , 201d0ef721eSBaptiste Daroussinor 202*baff8195SBaptiste Daroussin.Ql tabs , 203d0ef721eSBaptiste Daroussinthe value of that capability is printed, with 204d0ef721eSBaptiste Daroussin.Dq yes 205d0ef721eSBaptiste Daroussinor 206d0ef721eSBaptiste Daroussin.Dq no 207d0ef721eSBaptiste Daroussinindicating that the terminal does or does not have that capability. 208d0ef721eSBaptiste Daroussin.Pp 209d0ef721eSBaptiste Daroussin.Fl s 210d0ef721eSBaptiste Daroussinreturns an empty string for non-existent capabilities, rather than 211d0ef721eSBaptiste Daroussincausing an error. 212d0ef721eSBaptiste Daroussin.Fl v 213d0ef721eSBaptiste Daroussincauses messages to be verbose. 214*baff8195SBaptiste Daroussin.It Ic edit Op Li on No | Li off 215d0ef721eSBaptiste DaroussinEnable or disable the 216d0ef721eSBaptiste Daroussin.Nm editline 217d0ef721eSBaptiste Daroussinfunctionality in a program. 218*baff8195SBaptiste Daroussin.It Ic history Li list No | Li size Ar n No | Li unique Ar n 219d0ef721eSBaptiste DaroussinThe 220*baff8195SBaptiste Daroussin.Ql list 221d0ef721eSBaptiste Daroussincommand lists all entries in the history. 222d0ef721eSBaptiste DaroussinThe 223*baff8195SBaptiste Daroussin.Ql size 224d0ef721eSBaptiste Daroussincommand sets the history size to 225*baff8195SBaptiste Daroussin.Ar n 226d0ef721eSBaptiste Daroussinentries. 227d0ef721eSBaptiste DaroussinThe 228*baff8195SBaptiste Daroussin.Ql unique 229d0ef721eSBaptiste Daroussincommand controls if history should keep duplicate entries. 230d0ef721eSBaptiste DaroussinIf 231*baff8195SBaptiste Daroussin.Ar n 232d0ef721eSBaptiste Daroussinis non zero, only keep unique history entries. 233d0ef721eSBaptiste DaroussinIf 234*baff8195SBaptiste Daroussin.Ar n 235d0ef721eSBaptiste Daroussinis zero, then keep all entries (the default). 236d0ef721eSBaptiste Daroussin.It Ic settc Ar cap Ar val 237d0ef721eSBaptiste DaroussinSet the terminal capability 238d0ef721eSBaptiste Daroussin.Ar cap 239d0ef721eSBaptiste Daroussinto 240d0ef721eSBaptiste Daroussin.Ar val , 241d0ef721eSBaptiste Daroussinas defined in 242d0ef721eSBaptiste Daroussin.Xr termcap 5 . 243d0ef721eSBaptiste DaroussinNo sanity checking is done. 244*baff8195SBaptiste Daroussin.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 \ 245*baff8195SBaptiste DaroussinOo Fl Ar mode Oc Oo Ar mode Oc Oo Ar char\| Ns Ic = Ns Ar c Oc 246d0ef721eSBaptiste DaroussinControl which tty modes that 247d0ef721eSBaptiste Daroussin.Nm 248d0ef721eSBaptiste Daroussinwon't allow the user to change. 249d0ef721eSBaptiste Daroussin.Fl d , 250d0ef721eSBaptiste Daroussin.Fl q 251d0ef721eSBaptiste Daroussinor 252d0ef721eSBaptiste Daroussin.Fl x 253d0ef721eSBaptiste Daroussintells 254d0ef721eSBaptiste Daroussin.Ic setty 255d0ef721eSBaptiste Daroussinto act on the 256d0ef721eSBaptiste Daroussin.Sq edit , 257d0ef721eSBaptiste Daroussin.Sq quote 258d0ef721eSBaptiste Daroussinor 259d0ef721eSBaptiste Daroussin.Sq execute 260d0ef721eSBaptiste Daroussinset of tty modes respectively; defaulting to 261d0ef721eSBaptiste Daroussin.Fl x . 262d0ef721eSBaptiste Daroussin.Pp 263d0ef721eSBaptiste DaroussinWithout other arguments, 264d0ef721eSBaptiste Daroussin.Ic setty 265d0ef721eSBaptiste Daroussinlists the modes in the chosen set which are fixed on 266d0ef721eSBaptiste Daroussin.Po 267*baff8195SBaptiste Daroussin.Ic + Ns Ar mode 268d0ef721eSBaptiste Daroussin.Pc 269d0ef721eSBaptiste Daroussinor off 270d0ef721eSBaptiste Daroussin.Po 271*baff8195SBaptiste Daroussin.Fl Ns Ar mode 272d0ef721eSBaptiste Daroussin.Pc . 273d0ef721eSBaptiste Daroussin.Fl a 274d0ef721eSBaptiste Daroussinlists all tty modes in the chosen set regardless of the setting. 275d0ef721eSBaptiste DaroussinWith 276*baff8195SBaptiste Daroussin.Ic + Ns Ar mode , 277*baff8195SBaptiste Daroussin.Fl Ns Ar mode 278d0ef721eSBaptiste Daroussinor 279d0ef721eSBaptiste Daroussin.Ar mode , 280d0ef721eSBaptiste Daroussinfixes 281d0ef721eSBaptiste Daroussin.Ar mode 282d0ef721eSBaptiste Daroussinon or off or removes control of 283d0ef721eSBaptiste Daroussin.Ar mode 284d0ef721eSBaptiste Daroussinin the chosen set. 285d0ef721eSBaptiste Daroussin.Pp 286d0ef721eSBaptiste Daroussin.Ic Setty 287d0ef721eSBaptiste Daroussincan also be used to set tty characters to particular values using 288*baff8195SBaptiste Daroussin.Ar char\| Ns Ic = Ns Ar value . 289d0ef721eSBaptiste DaroussinIf 290d0ef721eSBaptiste Daroussin.Ar value 291d0ef721eSBaptiste Daroussinis empty 292d0ef721eSBaptiste Daroussinthen the character is set to 293d0ef721eSBaptiste Daroussin.Dv _POSIX_VDISABLE . 294d0ef721eSBaptiste Daroussin.It Ic telltc 295d0ef721eSBaptiste DaroussinList the values of all the terminal capabilities (see 296d0ef721eSBaptiste Daroussin.Xr termcap 5 ) . 297d0ef721eSBaptiste Daroussin.El 298d0ef721eSBaptiste Daroussin.Sh ENVIRONMENT 299*baff8195SBaptiste Daroussin.Bl -tag -width Ev 300d0ef721eSBaptiste Daroussin.It Ev EDITRC 301d0ef721eSBaptiste DaroussinNames the default configuration file for the 302d0ef721eSBaptiste Daroussin.Xr editline 3 303d0ef721eSBaptiste Daroussinlibrary. 304d0ef721eSBaptiste Daroussin.El 305d0ef721eSBaptiste Daroussin.Sh FILES 306*baff8195SBaptiste Daroussin.Bl -tag -width Pa 307d0ef721eSBaptiste Daroussin.It Pa ~/.editrc 308*baff8195SBaptiste DaroussinLast resort user configuration file for the 309d0ef721eSBaptiste Daroussin.Xr editline 3 310*baff8195SBaptiste Daroussinlibrary if no other file is specified. 311d0ef721eSBaptiste Daroussin.El 312d0ef721eSBaptiste Daroussin.Sh SEE ALSO 313d0ef721eSBaptiste Daroussin.Xr editline 3 , 314d0ef721eSBaptiste Daroussin.Xr regex 3 , 315d0ef721eSBaptiste Daroussin.Xr termcap 5 , 316d0ef721eSBaptiste Daroussin.Xr editline 7 317d0ef721eSBaptiste Daroussin.Sh AUTHORS 318d0ef721eSBaptiste Daroussin.An -nosplit 319d0ef721eSBaptiste DaroussinThe 320d0ef721eSBaptiste Daroussin.Nm editline 321d0ef721eSBaptiste Daroussinlibrary was written by 322d0ef721eSBaptiste Daroussin.An Christos Zoulas , 323d0ef721eSBaptiste Daroussinand this manual was written by 324d0ef721eSBaptiste Daroussin.An Luke Mewburn , 325d0ef721eSBaptiste Daroussinwith some sections inspired by 326d0ef721eSBaptiste Daroussin.Xr tcsh 1 . 327