Annotation of embedaddon/readline/doc/readline.0, revision 1.1.1.2
1.1.1.2 ! misho 1: READLINE(3) Library Functions Manual READLINE(3)
1.1 misho 2:
3:
4:
1.1.1.2 ! misho 5: [1mNAME[0m
1.1 misho 6: readline - get a line from a user with editing
7:
1.1.1.2 ! misho 8: [1mSYNOPSIS[0m
! 9: [1m#include <stdio.h>[0m
! 10: [1m#include <readline/readline.h>[0m
! 11: [1m#include <readline/history.h>[0m
! 12:
! 13: [4mchar[24m [4m*[0m
! 14: [1mreadline [22m([4mconst[24m [4mchar[24m [4m*prompt[24m);
! 15:
! 16: [1mCOPYRIGHT[0m
! 17: Readline is Copyright (C) 1989-2020 Free Software Foundation, Inc.
! 18:
! 19: [1mDESCRIPTION[0m
! 20: [1mreadline [22mwill read a line from the terminal and return it, using [1mprompt[0m
! 21: as a prompt. If [1mprompt [22mis [1mNULL [22mor the empty string, no prompt is is-
! 22: sued. The line returned is allocated with [4mmalloc[24m(3); the caller must
! 23: free it when finished. The line returned has the final newline re-
! 24: moved, so only the text of the line remains.
1.1 misho 25:
1.1.1.2 ! misho 26: [1mreadline [22moffers editing capabilities while the user is entering the
1.1 misho 27: line. By default, the line editing commands are similar to those of
28: emacs. A vi-style line editing interface is also available.
29:
1.1.1.2 ! misho 30: This manual page describes only the most basic use of [1mreadline[22m. Much
! 31: more functionality is available; see [4mThe[24m [4mGNU[24m [4mReadline[24m [4mLibrary[24m and [4mThe[0m
! 32: [4mGNU[24m [4mHistory[24m [4mLibrary[24m for additional information.
! 33:
! 34: [1mRETURN VALUE[0m
! 35: [1mreadline [22mreturns the text of the line read. A blank line returns the
! 36: empty string. If [1mEOF [22mis encountered while reading a line, and the line
! 37: is empty, [1mNULL [22mis returned. If an [1mEOF [22mis read with a non-empty line,
1.1 misho 38: it is treated as a newline.
39:
1.1.1.2 ! misho 40: [1mNOTATION[0m
1.1 misho 41: An Emacs-style notation is used to denote keystrokes. Control keys are
1.1.1.2 ! misho 42: denoted by C-[4mkey[24m, e.g., C-n means Control-N. Similarly, [4mmeta[24m keys are
! 43: denoted by M-[4mkey[24m, so M-x means Meta-X. (On keyboards without a [4mmeta[0m
! 44: key, M-[4mx[24m means ESC [4mx[24m, i.e., press the Escape key then the [4mx[24m key. This
! 45: makes ESC the [4mmeta[24m [4mprefix[24m. The combination M-C-[4mx[24m means ESC-Control-[4mx[24m,
! 46: or press the Escape key then hold the Control key while pressing the [4mx[0m
1.1 misho 47: key.)
48:
1.1.1.2 ! misho 49: Readline commands may be given numeric [4marguments[24m, which normally act as
1.1 misho 50: a repeat count. Sometimes, however, it is the sign of the argument
51: that is significant. Passing a negative argument to a command that
1.1.1.2 ! misho 52: acts in the forward direction (e.g., [1mkill-line[22m) causes that command to
1.1 misho 53: act in a backward direction. Commands whose behavior with arguments
1.1.1.2 ! misho 54: deviates from this are noted below.
1.1 misho 55:
1.1.1.2 ! misho 56: When a command is described as [4mkilling[24m text, the text deleted is saved
! 57: for possible future retrieval ([4myanking[24m). The killed text is saved in a
! 58: [4mkill[24m [4mring[24m. Consecutive kills cause the text to be accumulated into one
1.1 misho 59: unit, which can be yanked all at once. Commands which do not kill text
60: separate the chunks of text on the kill ring.
61:
1.1.1.2 ! misho 62: [1mINITIALIZATION FILE[0m
1.1 misho 63: Readline is customized by putting commands in an initialization file
1.1.1.2 ! misho 64: (the [4minputrc[24m file). The name of this file is taken from the value of
! 65: the [1mINPUTRC [22menvironment variable. If that variable is unset, the de-
! 66: fault is [4m~/.inputrc[24m. If that file does not exist or cannot be read,
! 67: the ultimate default is [4m/etc/inputrc[24m. When a program which uses the
1.1 misho 68: readline library starts up, the init file is read, and the key bindings
69: and variables are set. There are only a few basic constructs allowed
70: in the readline init file. Blank lines are ignored. Lines beginning
1.1.1.2 ! misho 71: with a [1m# [22mare comments. Lines beginning with a [1m$ [22mindicate conditional
1.1 misho 72: constructs. Other lines denote key bindings and variable settings.
1.1.1.2 ! misho 73: Each program using this library may add its own commands and bindings.
1.1 misho 74:
75: For example, placing
76:
77: M-Control-u: universal-argument
78: or
79: C-Meta-u: universal-argument
80:
1.1.1.2 ! misho 81: into the [4minputrc[24m would make M-C-u execute the readline command [4muniver-[0m
! 82: [4msal-argument[24m.
1.1 misho 83:
1.1.1.2 ! misho 84: The following symbolic character names are recognized while processing
! 85: key bindings: [4mDEL[24m, [4mESC[24m, [4mESCAPE[24m, [4mLFD[24m, [4mNEWLINE[24m, [4mRET[24m, [4mRETURN[24m, [4mRUBOUT[24m,
! 86: [4mSPACE[24m, [4mSPC[24m, and [4mTAB[24m.
! 87:
! 88: In addition to command names, readline allows keys to be bound to a
! 89: string that is inserted when the key is pressed (a [4mmacro[24m).
! 90:
! 91: [1mKey Bindings[0m
! 92: The syntax for controlling key bindings in the [4minputrc[24m file is simple.
! 93: All that is required is the name of the command or the text of a macro
! 94: and a key sequence to which it should be bound. The name may be speci-
! 95: fied in one of two ways: as a symbolic key name, possibly with [4mMeta-[24m or
! 96: [4mControl-[24m prefixes, or as a key sequence. The name and key sequence are
! 97: separated by a colon. There can be no whitespace between the name and
1.1 misho 98: the colon.
99:
1.1.1.2 ! misho 100: When using the form [1mkeyname[22m:[4mfunction-name[24m or [4mmacro[24m, [4mkeyname[24m is the name
1.1 misho 101: of a key spelled out in English. For example:
102:
103: Control-u: universal-argument
104: Meta-Rubout: backward-kill-word
105: Control-o: "> output"
106:
1.1.1.2 ! misho 107: In the above example, [4mC-u[24m is bound to the function [1muniversal-argument[22m,
! 108: [4mM-DEL[24m is bound to the function [1mbackward-kill-word[22m, and [4mC-o[24m is bound to
! 109: run the macro expressed on the right hand side (that is, to insert the
1.1 misho 110: text ``> output'' into the line).
111:
1.1.1.2 ! misho 112: In the second form, [1m"keyseq"[22m:[4mfunction-name[24m or [4mmacro[24m, [1mkeyseq [22mdiffers
! 113: from [1mkeyname [22mabove in that strings denoting an entire key sequence may
! 114: be specified by placing the sequence within double quotes. Some GNU
! 115: Emacs style key escapes can be used, as in the following example, but
1.1 misho 116: the symbolic character names are not recognized.
117:
118: "\C-u": universal-argument
119: "\C-x\C-r": re-read-init-file
120: "\e[11~": "Function Key 1"
121:
1.1.1.2 ! misho 122: In this example, [4mC-u[24m is again bound to the function [1muniversal-argument[22m.
! 123: [4mC-x[24m [4mC-r[24m is bound to the function [1mre-read-init-file[22m, and [4mESC[24m [4m[[24m [4m1[24m [4m1[24m [4m~[24m is
1.1 misho 124: bound to insert the text ``Function Key 1''.
125:
1.1.1.2 ! misho 126: The full set of GNU Emacs style escape sequences available when speci-
1.1 misho 127: fying key sequences is
1.1.1.2 ! misho 128: [1m\C- [22mcontrol prefix
! 129: [1m\M- [22mmeta prefix
! 130: [1m\e [22man escape character
! 131: [1m\\ [22mbackslash
! 132: [1m\" [22mliteral ", a double quote
! 133: [1m\' [22mliteral ', a single quote
1.1 misho 134:
1.1.1.2 ! misho 135: In addition to the GNU Emacs style escape sequences, a second set of
1.1 misho 136: backslash escapes is available:
1.1.1.2 ! misho 137: [1m\a [22malert (bell)
! 138: [1m\b [22mbackspace
! 139: [1m\d [22mdelete
! 140: [1m\f [22mform feed
! 141: [1m\n [22mnewline
! 142: [1m\r [22mcarriage return
! 143: [1m\t [22mhorizontal tab
! 144: [1m\v [22mvertical tab
! 145: [1m\[4m[22mnnn[24m the eight-bit character whose value is the octal value
! 146: [4mnnn[24m (one to three digits)
! 147: [1m\x[4m[22mHH[24m the eight-bit character whose value is the hexadecimal
! 148: value [4mHH[24m (one or two hex digits)
! 149:
! 150: When entering the text of a macro, single or double quotes should be
! 151: used to indicate a macro definition. Unquoted text is assumed to be a
! 152: function name. In the macro body, the backslash escapes described
! 153: above are expanded. Backslash will quote any other character in the
1.1 misho 154: macro text, including " and '.
155:
1.1.1.2 ! misho 156: [1mBash [22mallows the current readline key bindings to be displayed or modi-
! 157: fied with the [1mbind [22mbuiltin command. The editing mode may be switched
! 158: during interactive use by using the [1m-o [22moption to the [1mset [22mbuiltin com-
! 159: mand. Other programs using this library provide similar mechanisms.
! 160: The [4minputrc[24m file may be edited and re-read if a program does not pro-
1.1 misho 161: vide any other means to incorporate new bindings.
162:
1.1.1.2 ! misho 163: [1mVariables[0m
1.1 misho 164: Readline has variables that can be used to further customize its behav-
1.1.1.2 ! misho 165: ior. A variable may be set in the [4minputrc[24m file with a statement of the
1.1 misho 166: form
167:
1.1.1.2 ! misho 168: [1mset [4m[22mvariable-name[24m [4mvalue[0m
1.1 misho 169:
1.1.1.2 ! misho 170: Except where noted, readline variables can take the values [1mOn [22mor [1mOff[0m
! 171: (without regard to case). Unrecognized variable names are ignored.
! 172: When a variable value is read, empty or null values, "on" (case-insen-
! 173: sitive), and "1" are equivalent to [1mOn[22m. All other values are equivalent
! 174: to [1mOff[22m. The variables and their default values are:
! 175:
! 176: [1mbell-style (audible)[0m
! 177: Controls what happens when readline wants to ring the terminal
! 178: bell. If set to [1mnone[22m, readline never rings the bell. If set to
! 179: [1mvisible[22m, readline uses a visible bell if one is available. If
! 180: set to [1maudible[22m, readline attempts to ring the terminal's bell.
! 181: [1mbind-tty-special-chars (On)[0m
! 182: If set to [1mOn [22m(the default), readline attempts to bind the con-
! 183: trol characters treated specially by the kernel's terminal
! 184: driver to their readline equivalents.
! 185: [1mblink-matching-paren (Off)[0m
! 186: If set to [1mOn[22m, readline attempts to briefly move the cursor to an
! 187: opening parenthesis when a closing parenthesis is inserted.
! 188: [1mcolored-completion-prefix (Off)[0m
! 189: If set to [1mOn[22m, when listing completions, readline displays the
! 190: common prefix of the set of possible completions using a differ-
! 191: ent color. The color definitions are taken from the value of
! 192: the [1mLS_COLORS [22menvironment variable.
! 193: [1mcolored-stats (Off)[0m
! 194: If set to [1mOn[22m, readline displays possible completions using dif-
! 195: ferent colors to indicate their file type. The color defini-
! 196: tions are taken from the value of the [1mLS_COLORS [22menvironment
1.1 misho 197: variable.
1.1.1.2 ! misho 198: [1mcomment-begin (``#'')[0m
! 199: The string that is inserted in [1mvi [22mmode when the [1minsert-comment[0m
! 200: command is executed. This command is bound to [1mM-# [22min emacs mode
! 201: and to [1m# [22min vi command mode.
! 202: [1mcompletion-display-width (-1)[0m
! 203: The number of screen columns used to display possible matches
! 204: when performing completion. The value is ignored if it is less
! 205: than 0 or greater than the terminal screen width. A value of 0
! 206: will cause matches to be displayed one per line. The default
1.1 misho 207: value is -1.
1.1.1.2 ! misho 208: [1mcompletion-ignore-case (Off)[0m
! 209: If set to [1mOn[22m, readline performs filename matching and completion
1.1 misho 210: in a case-insensitive fashion.
1.1.1.2 ! misho 211: [1mcompletion-map-case (Off)[0m
! 212: If set to [1mOn[22m, and [1mcompletion-ignore-case [22mis enabled, readline
! 213: treats hyphens ([4m-[24m) and underscores ([4m_[24m) as equivalent when per-
1.1 misho 214: forming case-insensitive filename matching and completion.
1.1.1.2 ! misho 215: [1mcompletion-prefix-display-length (0)[0m
! 216: The length in characters of the common prefix of a list of pos-
! 217: sible completions that is displayed without modification. When
! 218: set to a value greater than zero, common prefixes longer than
! 219: this value are replaced with an ellipsis when displaying possi-
1.1 misho 220: ble completions.
1.1.1.2 ! misho 221: [1mcompletion-query-items (100)[0m
! 222: This determines when the user is queried about viewing the num-
! 223: ber of possible completions generated by the [1mpossible-comple-[0m
! 224: [1mtions [22mcommand. It may be set to any integer value greater than
! 225: or equal to zero. If the number of possible completions is
! 226: greater than or equal to the value of this variable, readline
! 227: will ask whether or not the user wishes to view them; otherwise
! 228: they are simply listed on the terminal. A negative value causes
! 229: readline to never ask.
! 230: [1mconvert-meta (On)[0m
! 231: If set to [1mOn[22m, readline will convert characters with the eighth
1.1 misho 232: bit set to an ASCII key sequence by stripping the eighth bit and
1.1.1.2 ! misho 233: prefixing it with an escape character (in effect, using escape
! 234: as the [4mmeta[24m [4mprefix[24m). The default is [4mOn[24m, but readline will set
! 235: it to [4mOff[24m if the locale contains eight-bit characters.
! 236: [1mdisable-completion (Off)[0m
! 237: If set to [1mOn[22m, readline will inhibit word completion. Completion
1.1 misho 238: characters will be inserted into the line as if they had been
1.1.1.2 ! misho 239: mapped to [1mself-insert[22m.
! 240: [1mecho-control-characters (On)[0m
! 241: When set to [1mOn[22m, on operating systems that indicate they support
1.1 misho 242: it, readline echoes a character corresponding to a signal gener-
243: ated from the keyboard.
1.1.1.2 ! misho 244: [1mediting-mode (emacs)[0m
! 245: Controls whether readline begins with a set of key bindings sim-
! 246: ilar to [4mEmacs[24m or [4mvi[24m. [1mediting-mode [22mcan be set to either [1memacs [22mor
! 247: [1mvi[22m.
! 248: [1memacs-mode-string (@)[0m
! 249: If the [4mshow-mode-in-prompt[24m variable is enabled, this string is
! 250: displayed immediately before the last line of the primary prompt
! 251: when emacs editing mode is active. The value is expanded like a
! 252: key binding, so the standard set of meta- and control prefixes
! 253: and backslash escape sequences is available. Use the \1 and \2
! 254: escapes to begin and end sequences of non-printing characters,
! 255: which can be used to embed a terminal control sequence into the
! 256: mode string.
! 257: [1menable-bracketed-paste (On)[0m
! 258: When set to [1mOn[22m, readline will configure the terminal in a way
! 259: that will enable it to insert each paste into the editing buffer
! 260: as a single string of characters, instead of treating each char-
! 261: acter as if it had been read from the keyboard. This can pre-
! 262: vent pasted characters from being interpreted as editing com-
! 263: mands.
! 264: [1menable-keypad (Off)[0m
! 265: When set to [1mOn[22m, readline will try to enable the application key-
! 266: pad when it is called. Some systems need this to enable the ar-
! 267: row keys.
! 268: [1menable-meta-key (On)[0m
! 269: When set to [1mOn[22m, readline will try to enable any meta modifier
1.1 misho 270: key the terminal claims to support when it is called. On many
271: terminals, the meta key is used to send eight-bit characters.
1.1.1.2 ! misho 272: [1mexpand-tilde (Off)[0m
! 273: If set to [1mOn[22m, tilde expansion is performed when readline at-
! 274: tempts word completion.
! 275: [1mhistory-preserve-point (Off)[0m
! 276: If set to [1mOn[22m, the history code attempts to place point at the
! 277: same location on each history line retrieved with [1mprevious-his-[0m
! 278: [1mtory [22mor [1mnext-history[22m.
! 279: [1mhistory-size (unset)[0m
1.1 misho 280: Set the maximum number of history entries saved in the history
281: list. If set to zero, any existing history entries are deleted
282: and no new entries are saved. If set to a value less than zero,
283: the number of history entries is not limited. By default, the
1.1.1.2 ! misho 284: number of history entries is not limited. If an attempt is made
! 285: to set [4mhistory-size[24m to a non-numeric value, the maximum number
! 286: of history entries will be set to 500.
! 287: [1mhorizontal-scroll-mode (Off)[0m
! 288: When set to [1mOn[22m, makes readline use a single line for display,
1.1 misho 289: scrolling the input horizontally on a single screen line when it
290: becomes longer than the screen width rather than wrapping to a
1.1.1.2 ! misho 291: new line. This setting is automatically enabled for terminals
! 292: of height 1.
! 293: [1minput-meta (Off)[0m
! 294: If set to [1mOn[22m, readline will enable eight-bit input (that is, it
! 295: will not clear the eighth bit in the characters it reads), re-
! 296: gardless of what the terminal claims it can support. The name
! 297: [1mmeta-flag [22mis a synonym for this variable. The default is [4mOff[24m,
! 298: but readline will set it to [4mOn[24m if the locale contains eight-bit
! 299: characters.
! 300: [1misearch-terminators (``C-[ C-J'')[0m
! 301: The string of characters that should terminate an incremental
! 302: search without subsequently executing the character as a com-
! 303: mand. If this variable has not been given a value, the charac-
! 304: ters [4mESC[24m and [4mC-J[24m will terminate an incremental search.
! 305: [1mkeymap (emacs)[0m
! 306: Set the current readline keymap. The set of legal keymap names
! 307: is [4memacs,[24m [4memacs-standard,[24m [4memacs-meta,[24m [4memacs-ctlx,[24m [4mvi,[24m [4mvi-move,[0m
! 308: [4mvi-command[24m, and [4mvi-insert[24m. [4mvi[24m is equivalent to [4mvi-command[24m;
! 309: [4memacs[24m is equivalent to [4memacs-standard[24m. The default value is
! 310: [4memacs[24m. The value of [1mediting-mode [22malso affects the default
1.1 misho 311: keymap.
1.1.1.2 ! misho 312: [1mkeyseq-timeout (500)[0m
! 313: Specifies the duration [4mreadline[24m will wait for a character when
! 314: reading an ambiguous key sequence (one that can form a complete
1.1 misho 315: key sequence using the input read so far, or can take additional
1.1.1.2 ! misho 316: input to complete a longer key sequence). If no input is re-
! 317: ceived within the timeout, [4mreadline[24m will use the shorter but
! 318: complete key sequence. The value is specified in milliseconds,
! 319: so a value of 1000 means that [4mreadline[24m will wait one second for
! 320: additional input. If this variable is set to a value less than
! 321: or equal to zero, or to a non-numeric value, [4mreadline[24m will wait
! 322: until another key is pressed to decide which key sequence to
1.1 misho 323: complete.
1.1.1.2 ! misho 324: [1mmark-directories (On)[0m
! 325: If set to [1mOn[22m, completed directory names have a slash appended.
! 326: [1mmark-modified-lines (Off)[0m
! 327: If set to [1mOn[22m, history lines that have been modified are dis-
! 328: played with a preceding asterisk ([1m*[22m).
! 329: [1mmark-symlinked-directories (Off)[0m
! 330: If set to [1mOn[22m, completed names which are symbolic links to direc-
! 331: tories have a slash appended (subject to the value of [1mmark-di-[0m
! 332: [1mrectories[22m).
! 333: [1mmatch-hidden-files (On)[0m
! 334: This variable, when set to [1mOn[22m, causes readline to match files
! 335: whose names begin with a `.' (hidden files) when performing
! 336: filename completion. If set to [1mOff[22m, the leading `.' must be
1.1 misho 337: supplied by the user in the filename to be completed.
1.1.1.2 ! misho 338: [1mmenu-complete-display-prefix (Off)[0m
! 339: If set to [1mOn[22m, menu completion displays the common prefix of the
1.1 misho 340: list of possible completions (which may be empty) before cycling
341: through the list.
1.1.1.2 ! misho 342: [1moutput-meta (Off)[0m
! 343: If set to [1mOn[22m, readline will display characters with the eighth
1.1 misho 344: bit set directly rather than as a meta-prefixed escape sequence.
1.1.1.2 ! misho 345: The default is [4mOff[24m, but readline will set it to [4mOn[24m if the locale
! 346: contains eight-bit characters.
! 347: [1mpage-completions (On)[0m
! 348: If set to [1mOn[22m, readline uses an internal [4mmore[24m-like pager to dis-
1.1 misho 349: play a screenful of possible completions at a time.
1.1.1.2 ! misho 350: [1mprint-completions-horizontally (Off)[0m
! 351: If set to [1mOn[22m, readline will display completions with matches
1.1 misho 352: sorted horizontally in alphabetical order, rather than down the
353: screen.
1.1.1.2 ! misho 354: [1mrevert-all-at-newline (Off)[0m
! 355: If set to [1mOn[22m, readline will undo all changes to history lines
! 356: before returning when [1maccept-line [22mis executed. By default, his-
1.1 misho 357: tory lines may be modified and retain individual undo lists
1.1.1.2 ! misho 358: across calls to [1mreadline[22m.
! 359: [1mshow-all-if-ambiguous (Off)[0m
1.1 misho 360: This alters the default behavior of the completion functions.
1.1.1.2 ! misho 361: If set to [1mOn[22m, words which have more than one possible completion
1.1 misho 362: cause the matches to be listed immediately instead of ringing
363: the bell.
1.1.1.2 ! misho 364: [1mshow-all-if-unmodified (Off)[0m
1.1 misho 365: This alters the default behavior of the completion functions in
1.1.1.2 ! misho 366: a fashion similar to [1mshow-all-if-ambiguous[22m. If set to [1mOn[22m, words
1.1 misho 367: which have more than one possible completion without any possi-
368: ble partial completion (the possible completions don't share a
1.1.1.2 ! misho 369: common prefix) cause the matches to be listed immediately in-
! 370: stead of ringing the bell.
! 371: [1mshow-mode-in-prompt (Off)[0m
! 372: If set to [1mOn[22m, add a string to the beginning of the prompt indi-
! 373: cating the editing mode: emacs, vi command, or vi insertion.
! 374: The mode strings are user-settable (e.g., [4memacs-mode-string[24m).
! 375: [1mskip-completed-text (Off)[0m
! 376: If set to [1mOn[22m, this alters the default completion behavior when
1.1 misho 377: inserting a single match into the line. It's only active when
378: performing completion in the middle of a word. If enabled,
379: readline does not insert characters from the completion that
380: match characters after point in the word being completed, so
381: portions of the word following the cursor are not duplicated.
1.1.1.2 ! misho 382: [1mvi-cmd-mode-string ((cmd))[0m
! 383: If the [4mshow-mode-in-prompt[24m variable is enabled, this string is
! 384: displayed immediately before the last line of the primary prompt
! 385: when vi editing mode is active and in command mode. The value
! 386: is expanded like a key binding, so the standard set of meta- and
! 387: control prefixes and backslash escape sequences is available.
! 388: Use the \1 and \2 escapes to begin and end sequences of non-
! 389: printing characters, which can be used to embed a terminal con-
! 390: trol sequence into the mode string.
! 391: [1mvi-ins-mode-string ((ins))[0m
! 392: If the [4mshow-mode-in-prompt[24m variable is enabled, this string is
! 393: displayed immediately before the last line of the primary prompt
! 394: when vi editing mode is active and in insertion mode. The value
! 395: is expanded like a key binding, so the standard set of meta- and
! 396: control prefixes and backslash escape sequences is available.
! 397: Use the \1 and \2 escapes to begin and end sequences of non-
! 398: printing characters, which can be used to embed a terminal con-
! 399: trol sequence into the mode string.
! 400: [1mvisible-stats (Off)[0m
! 401: If set to [1mOn[22m, a character denoting a file's type as reported by
! 402: [4mstat[24m(2) is appended to the filename when listing possible com-
1.1 misho 403: pletions.
404:
1.1.1.2 ! misho 405: [1mConditional Constructs[0m
1.1 misho 406: Readline implements a facility similar in spirit to the conditional
407: compilation features of the C preprocessor which allows key bindings
408: and variable settings to be performed as the result of tests. There
409: are four parser directives used.
410:
1.1.1.2 ! misho 411: [1m$if [22mThe [1m$if [22mconstruct allows bindings to be made based on the edit-
1.1 misho 412: ing mode, the terminal being used, or the application using
1.1.1.2 ! misho 413: readline. The text of the test, after any comparison operator,
! 414: extends to the end of the line; unless otherwise noted, no char-
! 415: acters are required to isolate it.
! 416:
! 417: [1mmode [22mThe [1mmode= [22mform of the [1m$if [22mdirective is used to test
! 418: whether readline is in emacs or vi mode. This may be
! 419: used in conjunction with the [1mset keymap [22mcommand, for in-
! 420: stance, to set bindings in the [4memacs-standard[24m and [4memacs-[0m
! 421: [4mctlx[24m keymaps only if readline is starting out in emacs
! 422: mode.
1.1 misho 423:
1.1.1.2 ! misho 424: [1mterm [22mThe [1mterm= [22mform may be used to include terminal-specific
1.1 misho 425: key bindings, perhaps to bind the key sequences output by
426: the terminal's function keys. The word on the right side
1.1.1.2 ! misho 427: of the [1m= [22mis tested against the full name of the terminal
! 428: and the portion of the terminal name before the first [1m-[22m.
! 429: This allows [4msun[24m to match both [4msun[24m and [4msun-cmd[24m, for in-
! 430: stance.
! 431:
! 432: [1mversion[0m
! 433: The [1mversion [22mtest may be used to perform comparisons
! 434: against specific readline versions. The [1mversion [22mexpands
! 435: to the current readline version. The set of comparison
! 436: operators includes [1m=[22m, (and [1m==[22m), [1m!=[22m, [1m<=[22m, [1m>=[22m, [1m<[22m, and [1m>[22m.
! 437: The version number supplied on the right side of the op-
! 438: erator consists of a major version number, an optional
! 439: decimal point, and an optional minor version (e.g., [1m7.1[22m).
! 440: If the minor version is omitted, it is assumed to be [1m0[22m.
! 441: The operator may be separated from the string [1mversion [22mand
! 442: from the version number argument by whitespace.
! 443:
! 444: [1mapplication[0m
! 445: The [1mapplication [22mconstruct is used to include application-
! 446: specific settings. Each program using the readline li-
! 447: brary sets the [4mapplication[24m [4mname[24m, and an initialization
1.1 misho 448: file can test for a particular value. This could be used
449: to bind key sequences to functions useful for a specific
450: program. For instance, the following command adds a key
451: sequence that quotes the current or previous word in
1.1.1.2 ! misho 452: [1mbash[22m:
1.1 misho 453:
1.1.1.2 ! misho 454: [1m$if [22mBash
1.1 misho 455: # Quote the current or previous word
456: "\C-xq": "\eb\"\ef\""
1.1.1.2 ! misho 457: [1m$endif[0m
! 458:
! 459: [4mvariable[0m
! 460: The [4mvariable[24m construct provides simple equality tests for
! 461: readline variables and values. The permitted comparison
! 462: operators are [4m=[24m, [4m==[24m, and [4m!=[24m. The variable name must be
! 463: separated from the comparison operator by whitespace; the
! 464: operator may be separated from the value on the right
! 465: hand side by whitespace. Both string and boolean vari-
! 466: ables may be tested. Boolean variables must be tested
! 467: against the values [4mon[24m and [4moff[24m.
1.1 misho 468:
1.1.1.2 ! misho 469: [1m$endif [22mThis command, as seen in the previous example, terminates an [1m$if[0m
1.1 misho 470: command.
471:
1.1.1.2 ! misho 472: [1m$else [22mCommands in this branch of the [1m$if [22mdirective are executed if the
1.1 misho 473: test fails.
474:
1.1.1.2 ! misho 475: [1m$include[0m
! 476: This directive takes a single filename as an argument and reads
! 477: commands and bindings from that file. For example, the follow-
! 478: ing directive would read [4m/etc/inputrc[24m:
! 479:
! 480: [1m$include [4m[22m/etc/inputrc[0m
! 481:
! 482: [1mSEARCHING[0m
! 483: Readline provides commands for searching through the command history
! 484: for lines containing a specified string. There are two search modes:
! 485: [4mincremental[24m and [4mnon-incremental[24m.
1.1 misho 486:
1.1.1.2 ! misho 487: Incremental searches begin before the user has finished typing the
! 488: search string. As each character of the search string is typed, read-
1.1 misho 489: line displays the next entry from the history matching the string typed
1.1.1.2 ! misho 490: so far. An incremental search requires only as many characters as
! 491: needed to find the desired history entry. To search backward in the
! 492: history for a particular string, type [1mC-r[22m. Typing [1mC-s [22msearches forward
! 493: through the history. The characters present in the value of the
! 494: [1misearch-terminators [22mvariable are used to terminate an incremental
! 495: search. If that variable has not been assigned a value the [4mEscape[24m and
! 496: [1mC-J [22mcharacters will terminate an incremental search. [1mC-G [22mwill abort an
! 497: incremental search and restore the original line. When the search is
! 498: terminated, the history entry containing the search string becomes the
1.1 misho 499: current line.
500:
1.1.1.2 ! misho 501: To find other matching entries in the history list, type [1mC-s [22mor [1mC-r [22mas
! 502: appropriate. This will search backward or forward in the history for
! 503: the next line matching the search string typed so far. Any other key
1.1 misho 504: sequence bound to a readline command will terminate the search and exe-
1.1.1.2 ! misho 505: cute that command. For instance, a newline will terminate the search
! 506: and accept the line, thereby executing the command from the history
1.1 misho 507: list. A movement command will terminate the search, make the last line
508: found the current line, and begin editing.
509:
1.1.1.2 ! misho 510: Non-incremental searches read the entire search string before starting
! 511: to search for matching history lines. The search string may be typed
1.1 misho 512: by the user or be part of the contents of the current line.
513:
1.1.1.2 ! misho 514: [1mEDITING COMMANDS[0m
! 515: The following is a list of the names of the commands and the default
1.1 misho 516: key sequences to which they are bound. Command names without an accom-
517: panying key sequence are unbound by default.
518:
1.1.1.2 ! misho 519: In the following descriptions, [4mpoint[24m refers to the current cursor posi-
! 520: tion, and [4mmark[24m refers to a cursor position saved by the [1mset-mark [22mcom-
! 521: mand. The text between the point and mark is referred to as the [4mre-[0m
! 522: [4mgion[24m.
1.1 misho 523:
1.1.1.2 ! misho 524: [1mCommands for Moving[0m
! 525: [1mbeginning-of-line (C-a)[0m
1.1 misho 526: Move to the start of the current line.
1.1.1.2 ! misho 527: [1mend-of-line (C-e)[0m
1.1 misho 528: Move to the end of the line.
1.1.1.2 ! misho 529: [1mforward-char (C-f)[0m
1.1 misho 530: Move forward a character.
1.1.1.2 ! misho 531: [1mbackward-char (C-b)[0m
1.1 misho 532: Move back a character.
1.1.1.2 ! misho 533: [1mforward-word (M-f)[0m
1.1 misho 534: Move forward to the end of the next word. Words are composed of
535: alphanumeric characters (letters and digits).
1.1.1.2 ! misho 536: [1mbackward-word (M-b)[0m
! 537: Move back to the start of the current or previous word. Words
1.1 misho 538: are composed of alphanumeric characters (letters and digits).
1.1.1.2 ! misho 539: [1mprevious-screen-line[0m
! 540: Attempt to move point to the same physical screen column on the
! 541: previous physical screen line. This will not have the desired
! 542: effect if the current Readline line does not take up more than
! 543: one physical line or if point is not greater than the length of
! 544: the prompt plus the screen width.
! 545: [1mnext-screen-line[0m
! 546: Attempt to move point to the same physical screen column on the
! 547: next physical screen line. This will not have the desired effect
! 548: if the current Readline line does not take up more than one
! 549: physical line or if the length of the current Readline line is
! 550: not greater than the length of the prompt plus the screen width.
! 551: [1mclear-display (M-C-l)[0m
! 552: Clear the screen and, if possible, the terminal's scrollback
! 553: buffer, then redraw the current line, leaving the current line
! 554: at the top of the screen.
! 555: [1mclear-screen (C-l)[0m
! 556: Clear the screen, then redraw the current line, leaving the cur-
! 557: rent line at the top of the screen. With an argument, refresh
! 558: the current line without clearing the screen.
! 559: [1mredraw-current-line[0m
1.1 misho 560: Refresh the current line.
561:
1.1.1.2 ! misho 562: [1mCommands for Manipulating the History[0m
! 563: [1maccept-line (Newline, Return)[0m
1.1 misho 564: Accept the line regardless of where the cursor is. If this line
1.1.1.2 ! misho 565: is non-empty, it may be added to the history list for future re-
! 566: call with [1madd_history()[22m. If the line is a modified history
1.1 misho 567: line, the history line is restored to its original state.
1.1.1.2 ! misho 568: [1mprevious-history (C-p)[0m
1.1 misho 569: Fetch the previous command from the history list, moving back in
570: the list.
1.1.1.2 ! misho 571: [1mnext-history (C-n)[0m
! 572: Fetch the next command from the history list, moving forward in
1.1 misho 573: the list.
1.1.1.2 ! misho 574: [1mbeginning-of-history (M-<)[0m
1.1 misho 575: Move to the first line in the history.
1.1.1.2 ! misho 576: [1mend-of-history (M->)[0m
! 577: Move to the end of the input history, i.e., the line currently
1.1 misho 578: being entered.
1.1.1.2 ! misho 579: [1mreverse-search-history (C-r)[0m
! 580: Search backward starting at the current line and moving `up'
! 581: through the history as necessary. This is an incremental
1.1 misho 582: search.
1.1.1.2 ! misho 583: [1mforward-search-history (C-s)[0m
! 584: Search forward starting at the current line and moving `down'
! 585: through the history as necessary. This is an incremental
1.1 misho 586: search.
1.1.1.2 ! misho 587: [1mnon-incremental-reverse-search-history (M-p)[0m
1.1 misho 588: Search backward through the history starting at the current line
1.1.1.2 ! misho 589: using a non-incremental search for a string supplied by the
1.1 misho 590: user.
1.1.1.2 ! misho 591: [1mnon-incremental-forward-search-history (M-n)[0m
! 592: Search forward through the history using a non-incremental
1.1 misho 593: search for a string supplied by the user.
1.1.1.2 ! misho 594: [1mhistory-search-backward[0m
1.1 misho 595: Search backward through the history for the string of characters
1.1.1.2 ! misho 596: between the start of the current line and the current cursor po-
! 597: sition (the [4mpoint[24m). The search string must match at the begin-
! 598: ning of a history line. This is a non-incremental search.
! 599: [1mhistory-search-forward[0m
1.1 misho 600: Search forward through the history for the string of characters
601: between the start of the current line and the point. The search
602: string must match at the beginning of a history line. This is a
603: non-incremental search.
1.1.1.2 ! misho 604: [1mhistory-substring-search-backward[0m
1.1 misho 605: Search backward through the history for the string of characters
1.1.1.2 ! misho 606: between the start of the current line and the current cursor po-
! 607: sition (the [4mpoint[24m). The search string may match anywhere in a
1.1 misho 608: history line. This is a non-incremental search.
1.1.1.2 ! misho 609: [1mhistory-substring-search-forward[0m
1.1 misho 610: Search forward through the history for the string of characters
611: between the start of the current line and the point. The search
1.1.1.2 ! misho 612: string may match anywhere in a history line. This is a non-in-
! 613: cremental search.
! 614: [1myank-nth-arg (M-C-y)[0m
1.1 misho 615: Insert the first argument to the previous command (usually the
1.1.1.2 ! misho 616: second word on the previous line) at point. With an argument [4mn[24m,
! 617: insert the [4mn[24mth word from the previous command (the words in the
! 618: previous command begin with word 0). A negative argument in-
! 619: serts the [4mn[24mth word from the end of the previous command. Once
! 620: the argument [4mn[24m is computed, the argument is extracted as if the
! 621: "![4mn[24m" history expansion had been specified.
! 622: [1myank-last-arg (M-., M-_)[0m
1.1 misho 623: Insert the last argument to the previous command (the last word
624: of the previous history entry). With a numeric argument, behave
1.1.1.2 ! misho 625: exactly like [1myank-nth-arg[22m. Successive calls to [1myank-last-arg[0m
1.1 misho 626: move back through the history list, inserting the last word (or
627: the word specified by the argument to the first call) of each
628: line in turn. Any numeric argument supplied to these successive
629: calls determines the direction to move through the history. A
630: negative argument switches the direction through the history
631: (back or forward). The history expansion facilities are used to
632: extract the last argument, as if the "!$" history expansion had
633: been specified.
1.1.1.2 ! misho 634: [1moperate-and-get-next (C-o)[0m
! 635: Accept the current line for return to the calling application as
! 636: if a newline had been entered, and fetch the next line relative
! 637: to the current line from the history for editing. A numeric ar-
! 638: gument, if supplied, specifies the history entry to use instead
! 639: of the current line.
1.1 misho 640:
1.1.1.2 ! misho 641: [1mCommands for Changing Text[0m
! 642: [4mend-of-file[24m [1m(usually C-d)[0m
1.1 misho 643: The character indicating end-of-file as set, for example, by
644: ``stty''. If this character is read when there are no charac-
645: ters on the line, and point is at the beginning of the line,
1.1.1.2 ! misho 646: Readline interprets it as the end of input and returns [1mEOF[22m.
! 647: [1mdelete-char (C-d)[0m
1.1 misho 648: Delete the character at point. If this function is bound to the
1.1.1.2 ! misho 649: same character as the tty [1mEOF [22mcharacter, as [1mC-d [22mcommonly is, see
1.1 misho 650: above for the effects.
1.1.1.2 ! misho 651: [1mbackward-delete-char (Rubout)[0m
1.1 misho 652: Delete the character behind the cursor. When given a numeric
653: argument, save the deleted text on the kill ring.
1.1.1.2 ! misho 654: [1mforward-backward-delete-char[0m
1.1 misho 655: Delete the character under the cursor, unless the cursor is at
656: the end of the line, in which case the character behind the cur-
657: sor is deleted.
1.1.1.2 ! misho 658: [1mquoted-insert (C-q, C-v)[0m
1.1 misho 659: Add the next character that you type to the line verbatim. This
1.1.1.2 ! misho 660: is how to insert characters like [1mC-q[22m, for example.
! 661: [1mtab-insert (M-TAB)[0m
1.1 misho 662: Insert a tab character.
1.1.1.2 ! misho 663: [1mself-insert (a, b, A, 1, !, ...)[0m
1.1 misho 664: Insert the character typed.
1.1.1.2 ! misho 665: [1mtranspose-chars (C-t)[0m
1.1 misho 666: Drag the character before point forward over the character at
667: point, moving point forward as well. If point is at the end of
668: the line, then this transposes the two characters before point.
669: Negative arguments have no effect.
1.1.1.2 ! misho 670: [1mtranspose-words (M-t)[0m
1.1 misho 671: Drag the word before point past the word after point, moving
672: point over that word as well. If point is at the end of the
673: line, this transposes the last two words on the line.
1.1.1.2 ! misho 674: [1mupcase-word (M-u)[0m
! 675: Uppercase the current (or following) word. With a negative ar-
! 676: gument, uppercase the previous word, but do not move point.
! 677: [1mdowncase-word (M-l)[0m
! 678: Lowercase the current (or following) word. With a negative ar-
! 679: gument, lowercase the previous word, but do not move point.
! 680: [1mcapitalize-word (M-c)[0m
! 681: Capitalize the current (or following) word. With a negative ar-
! 682: gument, capitalize the previous word, but do not move point.
! 683: [1moverwrite-mode[0m
1.1 misho 684: Toggle overwrite mode. With an explicit positive numeric argu-
685: ment, switches to overwrite mode. With an explicit non-positive
686: numeric argument, switches to insert mode. This command affects
1.1.1.2 ! misho 687: only [1memacs [22mmode; [1mvi [22mmode does overwrite differently. Each call
! 688: to [4mreadline()[24m starts in insert mode. In overwrite mode, charac-
! 689: ters bound to [1mself-insert [22mreplace the text at point rather than
! 690: pushing the text to the right. Characters bound to [1mback-[0m
! 691: [1mward-delete-char [22mreplace the character before point with a
1.1 misho 692: space. By default, this command is unbound.
693:
1.1.1.2 ! misho 694: [1mKilling and Yanking[0m
! 695: [1mkill-line (C-k)[0m
1.1 misho 696: Kill the text from point to the end of the line.
1.1.1.2 ! misho 697: [1mbackward-kill-line (C-x Rubout)[0m
1.1 misho 698: Kill backward to the beginning of the line.
1.1.1.2 ! misho 699: [1munix-line-discard (C-u)[0m
1.1 misho 700: Kill backward from point to the beginning of the line. The
701: killed text is saved on the kill-ring.
1.1.1.2 ! misho 702: [1mkill-whole-line[0m
1.1 misho 703: Kill all characters on the current line, no matter where point
704: is.
1.1.1.2 ! misho 705: [1mkill-word (M-d)[0m
1.1 misho 706: Kill from point the end of the current word, or if between
707: words, to the end of the next word. Word boundaries are the
1.1.1.2 ! misho 708: same as those used by [1mforward-word[22m.
! 709: [1mbackward-kill-word (M-Rubout)[0m
1.1 misho 710: Kill the word behind point. Word boundaries are the same as
1.1.1.2 ! misho 711: those used by [1mbackward-word[22m.
! 712: [1munix-word-rubout (C-w)[0m
1.1 misho 713: Kill the word behind point, using white space as a word bound-
714: ary. The killed text is saved on the kill-ring.
1.1.1.2 ! misho 715: [1munix-filename-rubout[0m
1.1 misho 716: Kill the word behind point, using white space and the slash
717: character as the word boundaries. The killed text is saved on
718: the kill-ring.
1.1.1.2 ! misho 719: [1mdelete-horizontal-space (M-\)[0m
1.1 misho 720: Delete all spaces and tabs around point.
1.1.1.2 ! misho 721: [1mkill-region[0m
! 722: Kill the text between the point and [4mmark[24m (saved cursor posi-
! 723: tion). This text is referred to as the [4mregion[24m.
! 724: [1mcopy-region-as-kill[0m
1.1 misho 725: Copy the text in the region to the kill buffer.
1.1.1.2 ! misho 726: [1mcopy-backward-word[0m
1.1 misho 727: Copy the word before point to the kill buffer. The word bound-
1.1.1.2 ! misho 728: aries are the same as [1mbackward-word[22m.
! 729: [1mcopy-forward-word[0m
1.1 misho 730: Copy the word following point to the kill buffer. The word
1.1.1.2 ! misho 731: boundaries are the same as [1mforward-word[22m.
! 732: [1myank (C-y)[0m
1.1 misho 733: Yank the top of the kill ring into the buffer at point.
1.1.1.2 ! misho 734: [1myank-pop (M-y)[0m
1.1 misho 735: Rotate the kill ring, and yank the new top. Only works follow-
1.1.1.2 ! misho 736: ing [1myank [22mor [1myank-pop[22m.
1.1 misho 737:
1.1.1.2 ! misho 738: [1mNumeric Arguments[0m
! 739: [1mdigit-argument (M-0, M-1, ..., M--)[0m
1.1 misho 740: Add this digit to the argument already accumulating, or start a
741: new argument. M-- starts a negative argument.
1.1.1.2 ! misho 742: [1muniversal-argument[0m
1.1 misho 743: This is another way to specify an argument. If this command is
744: followed by one or more digits, optionally with a leading minus
745: sign, those digits define the argument. If the command is fol-
1.1.1.2 ! misho 746: lowed by digits, executing [1muniversal-argument [22magain ends the nu-
! 747: meric argument, but is otherwise ignored. As a special case, if
! 748: this command is immediately followed by a character that is nei-
! 749: ther a digit or minus sign, the argument count for the next com-
! 750: mand is multiplied by four. The argument count is initially
1.1 misho 751: one, so executing this function the first time makes the argu-
752: ment count four, a second time makes the argument count sixteen,
753: and so on.
754:
1.1.1.2 ! misho 755: [1mCompleting[0m
! 756: [1mcomplete (TAB)[0m
! 757: Attempt to perform completion on the text before point. The ac-
! 758: tual completion performed is application-specific. [1mBash[22m, for
1.1 misho 759: instance, attempts completion treating the text as a variable
1.1.1.2 ! misho 760: (if the text begins with [1m$[22m), username (if the text begins with
! 761: [1m~[22m), hostname (if the text begins with [1m@[22m), or command (including
1.1 misho 762: aliases and functions) in turn. If none of these produces a
1.1.1.2 ! misho 763: match, filename completion is attempted. [1mGdb[22m, on the other
1.1 misho 764: hand, allows completion of program functions and variables, and
765: only attempts filename completion under certain circumstances.
1.1.1.2 ! misho 766: [1mpossible-completions (M-?)[0m
1.1 misho 767: List the possible completions of the text before point. When
768: displaying completions, readline sets the number of columns used
1.1.1.2 ! misho 769: for display to the value of [1mcompletion-display-width[22m, the value
! 770: of the environment variable [1mCOLUMNS[22m, or the screen width, in
1.1 misho 771: that order.
1.1.1.2 ! misho 772: [1minsert-completions (M-*)[0m
1.1 misho 773: Insert all completions of the text before point that would have
1.1.1.2 ! misho 774: been generated by [1mpossible-completions[22m.
! 775: [1mmenu-complete[0m
! 776: Similar to [1mcomplete[22m, but replaces the word to be completed with
1.1 misho 777: a single match from the list of possible completions. Repeated
1.1.1.2 ! misho 778: execution of [1mmenu-complete [22msteps through the list of possible
1.1 misho 779: completions, inserting each match in turn. At the end of the
780: list of completions, the bell is rung (subject to the setting of
1.1.1.2 ! misho 781: [1mbell-style[22m) and the original text is restored. An argument of [4mn[0m
! 782: moves [4mn[24m positions forward in the list of matches; a negative ar-
! 783: gument may be used to move backward through the list. This com-
! 784: mand is intended to be bound to [1mTAB[22m, but is unbound by default.
! 785: [1mmenu-complete-backward[0m
! 786: Identical to [1mmenu-complete[22m, but moves backward through the list
! 787: of possible completions, as if [1mmenu-complete [22mhad been given a
1.1 misho 788: negative argument. This command is unbound by default.
1.1.1.2 ! misho 789: [1mdelete-char-or-list[0m
! 790: Deletes the character under the cursor if not at the beginning
! 791: or end of the line (like [1mdelete-char[22m). If at the end of the
! 792: line, behaves identically to [1mpossible-completions[22m.
! 793:
! 794: [1mKeyboard Macros[0m
! 795: [1mstart-kbd-macro (C-x ()[0m
! 796: Begin saving the characters typed into the current keyboard
1.1 misho 797: macro.
1.1.1.2 ! misho 798: [1mend-kbd-macro (C-x ))[0m
1.1 misho 799: Stop saving the characters typed into the current keyboard macro
800: and store the definition.
1.1.1.2 ! misho 801: [1mcall-last-kbd-macro (C-x e)[0m
! 802: Re-execute the last keyboard macro defined, by making the char-
! 803: acters in the macro appear as if typed at the keyboard.
! 804: [1mprint-last-kbd-macro ()[0m
! 805: Print the last keyboard macro defined in a format suitable for
! 806: the [4minputrc[24m file.
! 807:
! 808: [1mMiscellaneous[0m
! 809: [1mre-read-init-file (C-x C-r)[0m
! 810: Read in the contents of the [4minputrc[24m file, and incorporate any
1.1 misho 811: bindings or variable assignments found there.
1.1.1.2 ! misho 812: [1mabort (C-g)[0m
1.1 misho 813: Abort the current editing command and ring the terminal's bell
1.1.1.2 ! misho 814: (subject to the setting of [1mbell-style[22m).
! 815: [1mdo-lowercase-version (M-A, M-B, M-[4m[22mx[24m[1m, ...)[0m
! 816: If the metafied character [4mx[24m is uppercase, run the command that
! 817: is bound to the corresponding metafied lowercase character. The
! 818: behavior is undefined if [4mx[24m is already lowercase.
! 819: [1mprefix-meta (ESC)[0m
! 820: Metafy the next character typed. [1mESC f [22mis equivalent to [1mMeta-f[22m.
! 821: [1mundo (C-_, C-x C-u)[0m
1.1 misho 822: Incremental undo, separately remembered for each line.
1.1.1.2 ! misho 823: [1mrevert-line (M-r)[0m
1.1 misho 824: Undo all changes made to this line. This is like executing the
1.1.1.2 ! misho 825: [1mundo [22mcommand enough times to return the line to its initial
1.1 misho 826: state.
1.1.1.2 ! misho 827: [1mtilde-expand (M-&)[0m
1.1 misho 828: Perform tilde expansion on the current word.
1.1.1.2 ! misho 829: [1mset-mark (C-@, M-<space>)[0m
1.1 misho 830: Set the mark to the point. If a numeric argument is supplied,
831: the mark is set to that position.
1.1.1.2 ! misho 832: [1mexchange-point-and-mark (C-x C-x)[0m
1.1 misho 833: Swap the point with the mark. The current cursor position is
834: set to the saved position, and the old cursor position is saved
835: as the mark.
1.1.1.2 ! misho 836: [1mcharacter-search (C-])[0m
1.1 misho 837: A character is read and point is moved to the next occurrence of
838: that character. A negative count searches for previous occur-
839: rences.
1.1.1.2 ! misho 840: [1mcharacter-search-backward (M-C-])[0m
1.1 misho 841: A character is read and point is moved to the previous occur-
842: rence of that character. A negative count searches for subse-
843: quent occurrences.
1.1.1.2 ! misho 844: [1mskip-csi-sequence[0m
1.1 misho 845: Read enough characters to consume a multi-key sequence such as
846: those defined for keys like Home and End. Such sequences begin
847: with a Control Sequence Indicator (CSI), usually ESC-[. If this
848: sequence is bound to "\[", keys producing such sequences will
849: have no effect unless explicitly bound to a readline command,
850: instead of inserting stray characters into the editing buffer.
851: This is unbound by default, but usually bound to ESC-[.
1.1.1.2 ! misho 852: [1minsert-comment (M-#)[0m
! 853: Without a numeric argument, the value of the readline [1mcom-[0m
! 854: [1mment-begin [22mvariable is inserted at the beginning of the current
1.1 misho 855: line. If a numeric argument is supplied, this command acts as a
1.1.1.2 ! misho 856: toggle: if the characters at the beginning of the line do not
! 857: match the value of [1mcomment-begin[22m, the value is inserted, other-
! 858: wise the characters in [1mcomment-begin [22mare deleted from the begin-
1.1 misho 859: ning of the line. In either case, the line is accepted as if a
1.1.1.2 ! misho 860: newline had been typed. The default value of [1mcomment-begin[0m
1.1 misho 861: makes the current line a shell comment. If a numeric argument
1.1.1.2 ! misho 862: causes the comment character to be removed, the line will be ex-
! 863: ecuted by the shell.
! 864: [1mdump-functions[0m
1.1 misho 865: Print all of the functions and their key bindings to the read-
866: line output stream. If a numeric argument is supplied, the out-
867: put is formatted in such a way that it can be made part of an
1.1.1.2 ! misho 868: [4minputrc[24m file.
! 869: [1mdump-variables[0m
1.1 misho 870: Print all of the settable variables and their values to the
871: readline output stream. If a numeric argument is supplied, the
872: output is formatted in such a way that it can be made part of an
1.1.1.2 ! misho 873: [4minputrc[24m file.
! 874: [1mdump-macros[0m
1.1 misho 875: Print all of the readline key sequences bound to macros and the
876: strings they output. If a numeric argument is supplied, the
877: output is formatted in such a way that it can be made part of an
1.1.1.2 ! misho 878: [4minputrc[24m file.
! 879: [1memacs-editing-mode (C-e)[0m
! 880: When in [1mvi [22mcommand mode, this causes a switch to [1memacs [22mediting
1.1 misho 881: mode.
1.1.1.2 ! misho 882: [1mvi-editing-mode (M-C-j)[0m
! 883: When in [1memacs [22mediting mode, this causes a switch to [1mvi [22mediting
1.1 misho 884: mode.
885:
1.1.1.2 ! misho 886: [1mDEFAULT KEY BINDINGS[0m
1.1 misho 887: The following is a list of the default emacs and vi bindings. Charac-
1.1.1.2 ! misho 888: ters with the eighth bit set are written as M-<character>, and are re-
! 889: ferred to as [4mmetafied[24m characters. The printable ASCII characters not
1.1 misho 890: mentioned in the list of emacs standard bindings are bound to the
1.1.1.2 ! misho 891: [1mself-insert [22mfunction, which just inserts the given character into the
1.1 misho 892: input line. In vi insertion mode, all characters not specifically men-
1.1.1.2 ! misho 893: tioned are bound to [1mself-insert[22m. Characters assigned to signal genera-
! 894: tion by [4mstty[24m(1) or the terminal driver, such as C-Z or C-C, retain that
1.1 misho 895: function. Upper and lower case metafied characters are bound to the
896: same function in the emacs mode meta keymap. The remaining characters
897: are unbound, which causes readline to ring the bell (subject to the
1.1.1.2 ! misho 898: setting of the [1mbell-style [22mvariable).
1.1 misho 899:
1.1.1.2 ! misho 900: [1mEmacs Mode[0m
1.1 misho 901: Emacs Standard bindings
902:
903: "C-@" set-mark
904: "C-A" beginning-of-line
905: "C-B" backward-char
906: "C-D" delete-char
907: "C-E" end-of-line
908: "C-F" forward-char
909: "C-G" abort
910: "C-H" backward-delete-char
911: "C-I" complete
912: "C-J" accept-line
913: "C-K" kill-line
914: "C-L" clear-screen
915: "C-M" accept-line
916: "C-N" next-history
917: "C-P" previous-history
918: "C-Q" quoted-insert
919: "C-R" reverse-search-history
920: "C-S" forward-search-history
921: "C-T" transpose-chars
922: "C-U" unix-line-discard
923: "C-V" quoted-insert
924: "C-W" unix-word-rubout
925: "C-Y" yank
926: "C-]" character-search
927: "C-_" undo
928: " " to "/" self-insert
929: "0" to "9" self-insert
930: ":" to "~" self-insert
931: "C-?" backward-delete-char
932:
933: Emacs Meta bindings
934:
935: "M-C-G" abort
936: "M-C-H" backward-kill-word
937: "M-C-I" tab-insert
938: "M-C-J" vi-editing-mode
1.1.1.2 ! misho 939: "M-C-L" clear-display
1.1 misho 940: "M-C-M" vi-editing-mode
941: "M-C-R" revert-line
942: "M-C-Y" yank-nth-arg
943: "M-C-[" complete
944: "M-C-]" character-search-backward
945: "M-space" set-mark
946: "M-#" insert-comment
947: "M-&" tilde-expand
948: "M-*" insert-completions
949: "M--" digit-argument
950: "M-." yank-last-arg
951: "M-0" digit-argument
952: "M-1" digit-argument
953: "M-2" digit-argument
954: "M-3" digit-argument
955: "M-4" digit-argument
956: "M-5" digit-argument
957: "M-6" digit-argument
958: "M-7" digit-argument
959: "M-8" digit-argument
960: "M-9" digit-argument
961: "M-<" beginning-of-history
962: "M-=" possible-completions
963: "M->" end-of-history
964: "M-?" possible-completions
965: "M-B" backward-word
966: "M-C" capitalize-word
967: "M-D" kill-word
968: "M-F" forward-word
969: "M-L" downcase-word
970: "M-N" non-incremental-forward-search-history
971: "M-P" non-incremental-reverse-search-history
972: "M-R" revert-line
973: "M-T" transpose-words
974: "M-U" upcase-word
975: "M-Y" yank-pop
976: "M-\" delete-horizontal-space
977: "M-~" tilde-expand
978: "M-C-?" backward-kill-word
979: "M-_" yank-last-arg
980:
981: Emacs Control-X bindings
982:
983: "C-XC-G" abort
984: "C-XC-R" re-read-init-file
985: "C-XC-U" undo
986: "C-XC-X" exchange-point-and-mark
987: "C-X(" start-kbd-macro
988: "C-X)" end-kbd-macro
989: "C-XE" call-last-kbd-macro
990: "C-XC-?" backward-kill-line
991:
992:
1.1.1.2 ! misho 993: [1mVI Mode bindings[0m
1.1 misho 994: VI Insert Mode functions
995:
996: "C-D" vi-eof-maybe
997: "C-H" backward-delete-char
998: "C-I" complete
999: "C-J" accept-line
1000: "C-M" accept-line
1001: "C-R" reverse-search-history
1002: "C-S" forward-search-history
1003: "C-T" transpose-chars
1004: "C-U" unix-line-discard
1005: "C-V" quoted-insert
1006: "C-W" unix-word-rubout
1007: "C-Y" yank
1008: "C-[" vi-movement-mode
1009: "C-_" undo
1010: " " to "~" self-insert
1011: "C-?" backward-delete-char
1012:
1013: VI Command Mode functions
1014:
1015: "C-D" vi-eof-maybe
1016: "C-E" emacs-editing-mode
1017: "C-G" abort
1018: "C-H" backward-char
1019: "C-J" accept-line
1020: "C-K" kill-line
1021: "C-L" clear-screen
1022: "C-M" accept-line
1023: "C-N" next-history
1024: "C-P" previous-history
1025: "C-Q" quoted-insert
1026: "C-R" reverse-search-history
1027: "C-S" forward-search-history
1028: "C-T" transpose-chars
1029: "C-U" unix-line-discard
1030: "C-V" quoted-insert
1031: "C-W" unix-word-rubout
1032: "C-Y" yank
1033: "C-_" vi-undo
1034: " " forward-char
1035: "#" insert-comment
1036: "$" end-of-line
1037: "%" vi-match
1038: "&" vi-tilde-expand
1039: "*" vi-complete
1040: "+" next-history
1041: "," vi-char-search
1042: "-" previous-history
1043: "." vi-redo
1044: "/" vi-search
1045: "0" beginning-of-line
1046: "1" to "9" vi-arg-digit
1047: ";" vi-char-search
1048: "=" vi-complete
1049: "?" vi-search
1050: "A" vi-append-eol
1051: "B" vi-prev-word
1052: "C" vi-change-to
1053: "D" vi-delete-to
1054: "E" vi-end-word
1055: "F" vi-char-search
1056: "G" vi-fetch-history
1057: "I" vi-insert-beg
1058: "N" vi-search-again
1059: "P" vi-put
1060: "R" vi-replace
1061: "S" vi-subst
1062: "T" vi-char-search
1063: "U" revert-line
1064: "W" vi-next-word
1065: "X" backward-delete-char
1066: "Y" vi-yank-to
1067: "\" vi-complete
1068: "^" vi-first-print
1069: "_" vi-yank-arg
1070: "`" vi-goto-mark
1071: "a" vi-append-mode
1072: "b" vi-prev-word
1073: "c" vi-change-to
1074: "d" vi-delete-to
1075: "e" vi-end-word
1076: "f" vi-char-search
1077: "h" backward-char
1078: "i" vi-insertion-mode
1079: "j" next-history
1080: "k" prev-history
1081: "l" forward-char
1082: "m" vi-set-mark
1083: "n" vi-search-again
1084: "p" vi-put
1085: "r" vi-change-char
1086: "s" vi-subst
1087: "t" vi-char-search
1088: "u" vi-undo
1089: "w" vi-next-word
1090: "x" vi-delete
1091: "y" vi-yank-to
1092: "|" vi-column
1093: "~" vi-change-case
1094:
1.1.1.2 ! misho 1095: [1mSEE ALSO[0m
! 1096: [4mThe[24m [4mGnu[24m [4mReadline[24m [4mLibrary[24m, Brian Fox and Chet Ramey
! 1097: [4mThe[24m [4mGnu[24m [4mHistory[24m [4mLibrary[24m, Brian Fox and Chet Ramey
! 1098: [4mbash[24m(1)
! 1099:
! 1100: [1mFILES[0m
! 1101: [4m~/.inputrc[0m
! 1102: Individual [1mreadline [22minitialization file
1.1 misho 1103:
1.1.1.2 ! misho 1104: [1mAUTHORS[0m
1.1 misho 1105: Brian Fox, Free Software Foundation
1106: bfox@gnu.org
1107:
1108: Chet Ramey, Case Western Reserve University
1109: chet.ramey@case.edu
1110:
1.1.1.2 ! misho 1111: [1mBUG REPORTS[0m
! 1112: If you find a bug in [1mreadline, [22myou should report it. But first, you
1.1 misho 1113: should make sure that it really is a bug, and that it appears in the
1.1.1.2 ! misho 1114: latest version of the [1mreadline [22mlibrary that you have.
1.1 misho 1115:
1116: Once you have determined that a bug actually exists, mail a bug report
1.1.1.2 ! misho 1117: to [4mbug-readline[24m@[4mgnu.org[24m. If you have a fix, you are welcome to mail
1.1 misho 1118: that as well! Suggestions and `philosophical' bug reports may be
1.1.1.2 ! misho 1119: mailed to [4mbug-readline[24m@[4mgnu.org[24m or posted to the Usenet newsgroup
! 1120: [1mgnu.bash.bug[22m.
1.1 misho 1121:
1122: Comments and bug reports concerning this manual page should be directed
1.1.1.2 ! misho 1123: to [4mchet.ramey@case.edu[24m.
1.1 misho 1124:
1.1.1.2 ! misho 1125: [1mBUGS[0m
1.1 misho 1126: It's too big and too slow.
1127:
1128:
1129:
1.1.1.2 ! misho 1130: GNU Readline 8.1 2020 October 29 READLINE(3)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>