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