1: READLINE(3) Library Functions Manual READLINE(3)
2:
3:
4:
5: [1mNAME[0m
6: readline - get a line from a user with editing
7:
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.
25:
26: [1mreadline [22moffers editing capabilities while the user is entering the
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:
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,
38: it is treated as a newline.
39:
40: [1mNOTATION[0m
41: An Emacs-style notation is used to denote keystrokes. Control keys are
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
47: key.)
48:
49: Readline commands may be given numeric [4marguments[24m, which normally act as
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
52: acts in the forward direction (e.g., [1mkill-line[22m) causes that command to
53: act in a backward direction. Commands whose behavior with arguments
54: deviates from this are noted below.
55:
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
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:
62: [1mINITIALIZATION FILE[0m
63: Readline is customized by putting commands in an initialization file
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
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
71: with a [1m# [22mare comments. Lines beginning with a [1m$ [22mindicate conditional
72: constructs. Other lines denote key bindings and variable settings.
73: Each program using this library may add its own commands and bindings.
74:
75: For example, placing
76:
77: M-Control-u: universal-argument
78: or
79: C-Meta-u: universal-argument
80:
81: into the [4minputrc[24m would make M-C-u execute the readline command [4muniver-[0m
82: [4msal-argument[24m.
83:
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
98: the colon.
99:
100: When using the form [1mkeyname[22m:[4mfunction-name[24m or [4mmacro[24m, [4mkeyname[24m is the name
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:
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
110: text ``> output'' into the line).
111:
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
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:
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
124: bound to insert the text ``Function Key 1''.
125:
126: The full set of GNU Emacs style escape sequences available when speci-
127: fying key sequences is
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
134:
135: In addition to the GNU Emacs style escape sequences, a second set of
136: backslash escapes is available:
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
154: macro text, including " and '.
155:
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-
161: vide any other means to incorporate new bindings.
162:
163: [1mVariables[0m
164: Readline has variables that can be used to further customize its behav-
165: ior. A variable may be set in the [4minputrc[24m file with a statement of the
166: form
167:
168: [1mset [4m[22mvariable-name[24m [4mvalue[0m
169:
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
197: variable.
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
207: value is -1.
208: [1mcompletion-ignore-case (Off)[0m
209: If set to [1mOn[22m, readline performs filename matching and completion
210: in a case-insensitive fashion.
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-
214: forming case-insensitive filename matching and completion.
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-
220: ble completions.
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
232: bit set to an ASCII key sequence by stripping the eighth bit and
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
238: characters will be inserted into the line as if they had been
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
242: it, readline echoes a character corresponding to a signal gener-
243: ated from the keyboard.
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
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.
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
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
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,
289: scrolling the input horizontally on a single screen line when it
290: becomes longer than the screen width rather than wrapping to a
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
311: keymap.
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
315: key sequence using the input read so far, or can take additional
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
323: complete.
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
337: supplied by the user in the filename to be completed.
338: [1mmenu-complete-display-prefix (Off)[0m
339: If set to [1mOn[22m, menu completion displays the common prefix of the
340: list of possible completions (which may be empty) before cycling
341: through the list.
342: [1moutput-meta (Off)[0m
343: If set to [1mOn[22m, readline will display characters with the eighth
344: bit set directly rather than as a meta-prefixed escape sequence.
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-
349: play a screenful of possible completions at a time.
350: [1mprint-completions-horizontally (Off)[0m
351: If set to [1mOn[22m, readline will display completions with matches
352: sorted horizontally in alphabetical order, rather than down the
353: screen.
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-
357: tory lines may be modified and retain individual undo lists
358: across calls to [1mreadline[22m.
359: [1mshow-all-if-ambiguous (Off)[0m
360: This alters the default behavior of the completion functions.
361: If set to [1mOn[22m, words which have more than one possible completion
362: cause the matches to be listed immediately instead of ringing
363: the bell.
364: [1mshow-all-if-unmodified (Off)[0m
365: This alters the default behavior of the completion functions in
366: a fashion similar to [1mshow-all-if-ambiguous[22m. If set to [1mOn[22m, words
367: which have more than one possible completion without any possi-
368: ble partial completion (the possible completions don't share a
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
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.
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-
403: pletions.
404:
405: [1mConditional Constructs[0m
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:
411: [1m$if [22mThe [1m$if [22mconstruct allows bindings to be made based on the edit-
412: ing mode, the terminal being used, or the application using
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.
423:
424: [1mterm [22mThe [1mterm= [22mform may be used to include terminal-specific
425: key bindings, perhaps to bind the key sequences output by
426: the terminal's function keys. The word on the right side
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
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
452: [1mbash[22m:
453:
454: [1m$if [22mBash
455: # Quote the current or previous word
456: "\C-xq": "\eb\"\ef\""
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.
468:
469: [1m$endif [22mThis command, as seen in the previous example, terminates an [1m$if[0m
470: command.
471:
472: [1m$else [22mCommands in this branch of the [1m$if [22mdirective are executed if the
473: test fails.
474:
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.
486:
487: Incremental searches begin before the user has finished typing the
488: search string. As each character of the search string is typed, read-
489: line displays the next entry from the history matching the string typed
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
499: current line.
500:
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
504: sequence bound to a readline command will terminate the search and exe-
505: cute that command. For instance, a newline will terminate the search
506: and accept the line, thereby executing the command from the history
507: list. A movement command will terminate the search, make the last line
508: found the current line, and begin editing.
509:
510: Non-incremental searches read the entire search string before starting
511: to search for matching history lines. The search string may be typed
512: by the user or be part of the contents of the current line.
513:
514: [1mEDITING COMMANDS[0m
515: The following is a list of the names of the commands and the default
516: key sequences to which they are bound. Command names without an accom-
517: panying key sequence are unbound by default.
518:
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.
523:
524: [1mCommands for Moving[0m
525: [1mbeginning-of-line (C-a)[0m
526: Move to the start of the current line.
527: [1mend-of-line (C-e)[0m
528: Move to the end of the line.
529: [1mforward-char (C-f)[0m
530: Move forward a character.
531: [1mbackward-char (C-b)[0m
532: Move back a character.
533: [1mforward-word (M-f)[0m
534: Move forward to the end of the next word. Words are composed of
535: alphanumeric characters (letters and digits).
536: [1mbackward-word (M-b)[0m
537: Move back to the start of the current or previous word. Words
538: are composed of alphanumeric characters (letters and digits).
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
560: Refresh the current line.
561:
562: [1mCommands for Manipulating the History[0m
563: [1maccept-line (Newline, Return)[0m
564: Accept the line regardless of where the cursor is. If this line
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
567: line, the history line is restored to its original state.
568: [1mprevious-history (C-p)[0m
569: Fetch the previous command from the history list, moving back in
570: the list.
571: [1mnext-history (C-n)[0m
572: Fetch the next command from the history list, moving forward in
573: the list.
574: [1mbeginning-of-history (M-<)[0m
575: Move to the first line in the history.
576: [1mend-of-history (M->)[0m
577: Move to the end of the input history, i.e., the line currently
578: being entered.
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
582: search.
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
586: search.
587: [1mnon-incremental-reverse-search-history (M-p)[0m
588: Search backward through the history starting at the current line
589: using a non-incremental search for a string supplied by the
590: user.
591: [1mnon-incremental-forward-search-history (M-n)[0m
592: Search forward through the history using a non-incremental
593: search for a string supplied by the user.
594: [1mhistory-search-backward[0m
595: Search backward through the history for the string of characters
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
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.
604: [1mhistory-substring-search-backward[0m
605: Search backward through the history for the string of characters
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
608: history line. This is a non-incremental search.
609: [1mhistory-substring-search-forward[0m
610: Search forward through the history for the string of characters
611: between the start of the current line and the point. The search
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
615: Insert the first argument to the previous command (usually the
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
623: Insert the last argument to the previous command (the last word
624: of the previous history entry). With a numeric argument, behave
625: exactly like [1myank-nth-arg[22m. Successive calls to [1myank-last-arg[0m
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.
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.
640:
641: [1mCommands for Changing Text[0m
642: [4mend-of-file[24m [1m(usually C-d)[0m
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,
646: Readline interprets it as the end of input and returns [1mEOF[22m.
647: [1mdelete-char (C-d)[0m
648: Delete the character at point. If this function is bound to the
649: same character as the tty [1mEOF [22mcharacter, as [1mC-d [22mcommonly is, see
650: above for the effects.
651: [1mbackward-delete-char (Rubout)[0m
652: Delete the character behind the cursor. When given a numeric
653: argument, save the deleted text on the kill ring.
654: [1mforward-backward-delete-char[0m
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.
658: [1mquoted-insert (C-q, C-v)[0m
659: Add the next character that you type to the line verbatim. This
660: is how to insert characters like [1mC-q[22m, for example.
661: [1mtab-insert (M-TAB)[0m
662: Insert a tab character.
663: [1mself-insert (a, b, A, 1, !, ...)[0m
664: Insert the character typed.
665: [1mtranspose-chars (C-t)[0m
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.
670: [1mtranspose-words (M-t)[0m
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.
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
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
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
692: space. By default, this command is unbound.
693:
694: [1mKilling and Yanking[0m
695: [1mkill-line (C-k)[0m
696: Kill the text from point to the end of the line.
697: [1mbackward-kill-line (C-x Rubout)[0m
698: Kill backward to the beginning of the line.
699: [1munix-line-discard (C-u)[0m
700: Kill backward from point to the beginning of the line. The
701: killed text is saved on the kill-ring.
702: [1mkill-whole-line[0m
703: Kill all characters on the current line, no matter where point
704: is.
705: [1mkill-word (M-d)[0m
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
708: same as those used by [1mforward-word[22m.
709: [1mbackward-kill-word (M-Rubout)[0m
710: Kill the word behind point. Word boundaries are the same as
711: those used by [1mbackward-word[22m.
712: [1munix-word-rubout (C-w)[0m
713: Kill the word behind point, using white space as a word bound-
714: ary. The killed text is saved on the kill-ring.
715: [1munix-filename-rubout[0m
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.
719: [1mdelete-horizontal-space (M-\)[0m
720: Delete all spaces and tabs around point.
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
725: Copy the text in the region to the kill buffer.
726: [1mcopy-backward-word[0m
727: Copy the word before point to the kill buffer. The word bound-
728: aries are the same as [1mbackward-word[22m.
729: [1mcopy-forward-word[0m
730: Copy the word following point to the kill buffer. The word
731: boundaries are the same as [1mforward-word[22m.
732: [1myank (C-y)[0m
733: Yank the top of the kill ring into the buffer at point.
734: [1myank-pop (M-y)[0m
735: Rotate the kill ring, and yank the new top. Only works follow-
736: ing [1myank [22mor [1myank-pop[22m.
737:
738: [1mNumeric Arguments[0m
739: [1mdigit-argument (M-0, M-1, ..., M--)[0m
740: Add this digit to the argument already accumulating, or start a
741: new argument. M-- starts a negative argument.
742: [1muniversal-argument[0m
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-
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
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:
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
759: instance, attempts completion treating the text as a variable
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
762: aliases and functions) in turn. If none of these produces a
763: match, filename completion is attempted. [1mGdb[22m, on the other
764: hand, allows completion of program functions and variables, and
765: only attempts filename completion under certain circumstances.
766: [1mpossible-completions (M-?)[0m
767: List the possible completions of the text before point. When
768: displaying completions, readline sets the number of columns used
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
771: that order.
772: [1minsert-completions (M-*)[0m
773: Insert all completions of the text before point that would have
774: been generated by [1mpossible-completions[22m.
775: [1mmenu-complete[0m
776: Similar to [1mcomplete[22m, but replaces the word to be completed with
777: a single match from the list of possible completions. Repeated
778: execution of [1mmenu-complete [22msteps through the list of possible
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
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
788: negative argument. This command is unbound by default.
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
797: macro.
798: [1mend-kbd-macro (C-x ))[0m
799: Stop saving the characters typed into the current keyboard macro
800: and store the definition.
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
811: bindings or variable assignments found there.
812: [1mabort (C-g)[0m
813: Abort the current editing command and ring the terminal's bell
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
822: Incremental undo, separately remembered for each line.
823: [1mrevert-line (M-r)[0m
824: Undo all changes made to this line. This is like executing the
825: [1mundo [22mcommand enough times to return the line to its initial
826: state.
827: [1mtilde-expand (M-&)[0m
828: Perform tilde expansion on the current word.
829: [1mset-mark (C-@, M-<space>)[0m
830: Set the mark to the point. If a numeric argument is supplied,
831: the mark is set to that position.
832: [1mexchange-point-and-mark (C-x C-x)[0m
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.
836: [1mcharacter-search (C-])[0m
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.
840: [1mcharacter-search-backward (M-C-])[0m
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.
844: [1mskip-csi-sequence[0m
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-[.
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
855: line. If a numeric argument is supplied, this command acts as a
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-
859: ning of the line. In either case, the line is accepted as if a
860: newline had been typed. The default value of [1mcomment-begin[0m
861: makes the current line a shell comment. If a numeric argument
862: causes the comment character to be removed, the line will be ex-
863: ecuted by the shell.
864: [1mdump-functions[0m
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
868: [4minputrc[24m file.
869: [1mdump-variables[0m
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
873: [4minputrc[24m file.
874: [1mdump-macros[0m
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
878: [4minputrc[24m file.
879: [1memacs-editing-mode (C-e)[0m
880: When in [1mvi [22mcommand mode, this causes a switch to [1memacs [22mediting
881: mode.
882: [1mvi-editing-mode (M-C-j)[0m
883: When in [1memacs [22mediting mode, this causes a switch to [1mvi [22mediting
884: mode.
885:
886: [1mDEFAULT KEY BINDINGS[0m
887: The following is a list of the default emacs and vi bindings. Charac-
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
890: mentioned in the list of emacs standard bindings are bound to the
891: [1mself-insert [22mfunction, which just inserts the given character into the
892: input line. In vi insertion mode, all characters not specifically men-
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
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
898: setting of the [1mbell-style [22mvariable).
899:
900: [1mEmacs Mode[0m
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
939: "M-C-L" clear-display
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:
993: [1mVI Mode bindings[0m
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:
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
1103:
1104: [1mAUTHORS[0m
1105: Brian Fox, Free Software Foundation
1106: bfox@gnu.org
1107:
1108: Chet Ramey, Case Western Reserve University
1109: chet.ramey@case.edu
1110:
1111: [1mBUG REPORTS[0m
1112: If you find a bug in [1mreadline, [22myou should report it. But first, you
1113: should make sure that it really is a bug, and that it appears in the
1114: latest version of the [1mreadline [22mlibrary that you have.
1115:
1116: Once you have determined that a bug actually exists, mail a bug report
1117: to [4mbug-readline[24m@[4mgnu.org[24m. If you have a fix, you are welcome to mail
1118: that as well! Suggestions and `philosophical' bug reports may be
1119: mailed to [4mbug-readline[24m@[4mgnu.org[24m or posted to the Usenet newsgroup
1120: [1mgnu.bash.bug[22m.
1121:
1122: Comments and bug reports concerning this manual page should be directed
1123: to [4mchet.ramey@case.edu[24m.
1124:
1125: [1mBUGS[0m
1126: It's too big and too slow.
1127:
1128:
1129:
1130: GNU Readline 8.1 2020 October 29 READLINE(3)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>