import of readlilne 5.1
[deliverable/binutils-gdb.git] / readline / doc / readline.0
CommitLineData
b585a9fa 1READLINE(3) READLINE(3)
aac48392
SS
2
3
84041b4c 4
aac48392
SS
5N\bNA\bAM\bME\bE
6 readline - get a line from a user with editing
7
8S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
c862e87b 9 #\b#i\bin\bnc\bcl\blu\bud\bde\be <\b<s\bst\btd\bdi\bio\bo.\b.h\bh>\b>
84041b4c
EZ
10 #\b#i\bin\bnc\bcl\blu\bud\bde\be <\b<r\bre\bea\bad\bdl\bli\bin\bne\be/\b/r\bre\bea\bad\bdl\bli\bin\bne\be.\b.h\bh>\b>
11 #\b#i\bin\bnc\bcl\blu\bud\bde\be <\b<r\bre\bea\bad\bdl\bli\bin\bne\be/\b/h\bhi\bis\bst\bto\bor\bry\by.\b.h\bh>\b>
aac48392 12
84041b4c
EZ
13 _\bc_\bh_\ba_\br _\b*
14 r\bre\bea\bad\bdl\bli\bin\bne\be (_\bc_\bo_\bn_\bs_\bt _\bc_\bh_\ba_\br _\b*_\bp_\br_\bo_\bm_\bp_\bt);
aac48392
SS
15
16C\bCO\bOP\bPY\bYR\bRI\bIG\bGH\bHT\bT
b585a9fa
EZ
17 Readline is Copyright (C) 1989-2004 by the Free Software Foundation,
18 Inc.
aac48392
SS
19
20D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
b585a9fa
EZ
21 r\bre\bea\bad\bdl\bli\bin\bne\be will read a line from the terminal and return it, using p\bpr\bro\bom\bmp\bpt\bt
22 as a prompt. If p\bpr\bro\bom\bmp\bpt\bt is N\bNU\bUL\bLL\bL or the empty string, no prompt is
23 issued. The line returned is allocated with _\bm_\ba_\bl_\bl_\bo_\bc(3); the caller must
24 free it when finished. The line returned has the final newline
25 removed, so only the text of the line remains.
26
27 r\bre\bea\bad\bdl\bli\bin\bne\be offers editing capabilities while the user is entering the
28 line. By default, the line editing commands are similar to those of
29 emacs. A vi-style line editing interface is also available.
30
31 This manual page describes only the most basic use of r\bre\bea\bad\bdl\bli\bin\bne\be. Much
32 more functionality is available; see _\bT_\bh_\be _\bG_\bN_\bU _\bR_\be_\ba_\bd_\bl_\bi_\bn_\be _\bL_\bi_\bb_\br_\ba_\br_\by and _\bT_\bh_\be
33 _\bG_\bN_\bU _\bH_\bi_\bs_\bt_\bo_\br_\by _\bL_\bi_\bb_\br_\ba_\br_\by for additional information.
84041b4c 34
aac48392 35R\bRE\bET\bTU\bUR\bRN\bN V\bVA\bAL\bLU\bUE\bE
b585a9fa
EZ
36 r\bre\bea\bad\bdl\bli\bin\bne\be returns the text of the line read. A blank line returns the
37 empty string. If E\bEO\bOF\bF is encountered while reading a line, and the line
38 is empty, N\bNU\bUL\bLL\bL is returned. If an E\bEO\bOF\bF is read with a non-empty line,
39 it is treated as a newline.
aac48392
SS
40
41N\bNO\bOT\bTA\bAT\bTI\bIO\bON\bN
b585a9fa
EZ
42 An emacs-style notation is used to denote keystrokes. Control keys are
43 denoted by C-_\bk_\be_\by, e.g., C-n means Control-N. Similarly, _\bm_\be_\bt_\ba keys are
44 denoted by M-_\bk_\be_\by, so M-x means Meta-X. (On keyboards without a _\bm_\be_\bt_\ba
45 key, M-_\bx means ESC _\bx, i.e., press the Escape key then the _\bx key. This
46 makes ESC the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx. The combination M-C-_\bx means ESC-Control-_\bx,
47 or press the Escape key then hold the Control key while pressing the _\bx
48 key.)
49
50 Readline commands may be given numeric _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, which normally act as
51 a repeat count. Sometimes, however, it is the sign of the argument
52 that is significant. Passing a negative argument to a command that
53 acts in the forward direction (e.g., k\bki\bil\bll\bl-\b-l\bli\bin\bne\be) causes that command to
54 act in a backward direction. Commands whose behavior with arguments
55 deviates from this are noted.
56
57 When a command is described as _\bk_\bi_\bl_\bl_\bi_\bn_\bg text, the text deleted is saved
58 for possible future retrieval (_\by_\ba_\bn_\bk_\bi_\bn_\bg). The killed text is saved in a
59 _\bk_\bi_\bl_\bl _\br_\bi_\bn_\bg. Consecutive kills cause the text to be accumulated into one
60 unit, which can be yanked all at once. Commands which do not kill text
61 separate the chunks of text on the kill ring.
aac48392
SS
62
63I\bIN\bNI\bIT\bTI\bIA\bAL\bLI\bIZ\bZA\bAT\bTI\bIO\bON\bN F\bFI\bIL\bLE\bE
b585a9fa
EZ
64 Readline is customized by putting commands in an initialization file
65 (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file). The name of this file is taken from the value of
66 the I\bIN\bNP\bPU\bUT\bTR\bRC\bC environment variable. If that variable is unset, the
67 default is _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc. When a program which uses the readline library
68 starts up, the init file is read, and the key bindings and variables
69 are set. There are only a few basic constructs allowed in the readline
70 init file. Blank lines are ignored. Lines beginning with a #\b# are com-
71 ments. Lines beginning with a $\b$ indicate conditional constructs.
72 Other lines denote key bindings and variable settings. Each program
73 using this library may add its own commands and bindings.
aac48392
SS
74
75 For example, placing
76
77 M-Control-u: universal-argument
78 or
79 C-Meta-u: universal-argument
84041b4c 80
b585a9fa
EZ
81 into the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline command _\bu_\bn_\bi_\bv_\be_\br_\b-
82 _\bs_\ba_\bl_\b-_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.
aac48392 83
b585a9fa
EZ
84 The following symbolic character names are recognized while processing
85 key bindings: _\bD_\bE_\bL, _\bE_\bS_\bC, _\bE_\bS_\bC_\bA_\bP_\bE, _\bL_\bF_\bD, _\bN_\bE_\bW_\bL_\bI_\bN_\bE, _\bR_\bE_\bT, _\bR_\bE_\bT_\bU_\bR_\bN, _\bR_\bU_\bB_\bO_\bU_\bT,
86 _\bS_\bP_\bA_\bC_\bE, _\bS_\bP_\bC, and _\bT_\bA_\bB.
f9267e15 87
b585a9fa
EZ
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 _\bm_\ba_\bc_\br_\bo).
aac48392
SS
90
91
92 K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs
b585a9fa
EZ
93 The syntax for controlling key bindings in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file is simple.
94 All that is required is the name of the command or the text of a macro
95 and a key sequence to which it should be bound. The name may be speci-
96 fied in one of two ways: as a symbolic key name, possibly with _\bM_\be_\bt_\ba_\b- or
84041b4c
EZ
97 _\bC_\bo_\bn_\bt_\br_\bo_\bl_\b- prefixes, or as a key sequence.
98
b585a9fa
EZ
99 When using the form k\bke\bey\byn\bna\bam\bme\be:_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, _\bk_\be_\by_\bn_\ba_\bm_\be is the name
100 of a key spelled out in English. For example:
aac48392
SS
101
102 Control-u: universal-argument
103 Meta-Rubout: backward-kill-word
84041b4c 104 Control-o: "> output"
aac48392 105
b585a9fa
EZ
106 In the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt,
107 _\bM_\b-_\bD_\bE_\bL is bound to the function b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd, and _\bC_\b-_\bo is bound to
108 run the macro expressed on the right hand side (that is, to insert the
84041b4c 109 text ``> output'' into the line).
aac48392 110
b585a9fa
EZ
111 In the second form, "\b"k\bke\bey\bys\bse\beq\bq"\b":_\bf_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\b-_\bn_\ba_\bm_\be or _\bm_\ba_\bc_\br_\bo, k\bke\bey\bys\bse\beq\bq differs
112 from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an entire key sequence may
113 be specified by placing the sequence within double quotes. Some GNU
114 Emacs style key escapes can be used, as in the following example, but
115 the symbolic character names are not recognized.
aac48392
SS
116
117 "\C-u": universal-argument
118 "\C-x\C-r": re-read-init-file
119 "\e[11~": "Function Key 1"
120
b585a9fa
EZ
121 In this example, _\bC_\b-_\bu is again bound to the function u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt.
122 _\bC_\b-_\bx _\bC_\b-_\br is bound to the function r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be, and _\bE_\bS_\bC _\b[ _\b1 _\b1 _\b~ is
123 bound to insert the text ``Function Key 1''.
84041b4c 124
b585a9fa
EZ
125 The full set of GNU Emacs style escape sequences available when speci-
126 fying key sequences is
aac48392
SS
127 \\b\C\bC-\b- control prefix
128 \\b\M\bM-\b- meta prefix
129 \\b\e\be an escape character
130 \\b\\\b\ backslash
84041b4c
EZ
131 \\b\"\b" literal ", a double quote
132 \\b\'\b' literal ', a single quote
aac48392 133
b585a9fa
EZ
134 In addition to the GNU Emacs style escape sequences, a second set of
135 backslash escapes is available:
aac48392
SS
136 \\b\a\ba alert (bell)
137 \\b\b\bb backspace
138 \\b\d\bd delete
139 \\b\f\bf form feed
140 \\b\n\bn newline
141 \\b\r\br carriage return
142 \\b\t\bt horizontal tab
143 \\b\v\bv vertical tab
b585a9fa
EZ
144 \\b\_\bn_\bn_\bn the eight-bit character whose value is the octal value
145 _\bn_\bn_\bn (one to three digits)
146 \\b\x\bx_\bH_\bH the eight-bit character whose value is the hexadecimal
147 value _\bH_\bH (one or two hex digits)
148
149 When entering the text of a macro, single or double quotes should be
150 used to indicate a macro definition. Unquoted text is assumed to be a
151 function name. In the macro body, the backslash escapes described
152 above are expanded. Backslash will quote any other character in the
153 macro text, including " and '.
154
155 B\bBa\bas\bsh\bh allows the current readline key bindings to be displayed or modi-
156 fied with the b\bbi\bin\bnd\bd builtin command. The editing mode may be switched
157 during interactive use by using the -\b-o\bo option to the s\bse\bet\bt builtin com-
158 mand. Other programs using this library provide similar mechanisms.
159 The _\bi_\bn_\bp_\bu_\bt_\br_\bc file may be edited and re-read if a program does not pro-
160 vide any other means to incorporate new bindings.
f9267e15 161
aac48392 162 V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs
b585a9fa
EZ
163 Readline has variables that can be used to further customize its behav-
164 ior. A variable may be set in the _\bi_\bn_\bp_\bu_\bt_\br_\bc file with a statement of the
165 form
aac48392
SS
166
167 s\bse\bet\bt _\bv_\ba_\br_\bi_\ba_\bb_\bl_\be_\b-_\bn_\ba_\bm_\be _\bv_\ba_\bl_\bu_\be
168
b585a9fa
EZ
169 Except where noted, readline variables can take the values O\bOn\bn or O\bOf\bff\bf
170 (without regard to case). Unrecognized variable names are ignored.
171 When a variable value is read, empty or null values, "on" (case-insen-
172 sitive), and "1" are equivalent to O\bOn\bn. All other values are equivalent
173 to O\bOf\bff\bf. The variables and their default values are:
aac48392
SS
174
175 b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be (\b(a\bau\bud\bdi\bib\bbl\ble\be)\b)
b585a9fa
EZ
176 Controls what happens when readline wants to ring the terminal
177 bell. If set to n\bno\bon\bne\be, readline never rings the bell. If set to
178 v\bvi\bis\bsi\bib\bbl\ble\be, readline uses a visible bell if one is available. If
179 set to a\bau\bud\bdi\bib\bbl\ble\be, readline attempts to ring the terminal's bell.
180 b\bbi\bin\bnd\bd-\b-t\btt\bty\by-\b-s\bsp\bpe\bec\bci\bia\bal\bl-\b-c\bch\bha\bar\brs\bs (\b(O\bOn\bn)\b)
181 If set to O\bOn\bn, readline attempts to bind the control characters
182 treated specially by the kernel's terminal driver to their read-
183 line equivalents.
aac48392 184 c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn (\b(`\b``\b`#\b#'\b''\b')\b)
b585a9fa
EZ
185 The string that is inserted in v\bvi\bi mode when the i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt
186 command is executed. This command is bound to M\bM-\b-#\b# in emacs mode
187 and to #\b# in vi command mode.
aac48392 188 c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-i\big\bgn\bno\bor\bre\be-\b-c\bca\bas\bse\be (\b(O\bOf\bff\bf)\b)
b585a9fa
EZ
189 If set to O\bOn\bn, readline performs filename matching and completion
190 in a case-insensitive fashion.
aac48392 191 c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn-\b-q\bqu\bue\ber\bry\by-\b-i\bit\bte\bem\bms\bs (\b(1\b10\b00\b0)\b)
b585a9fa
EZ
192 This determines when the user is queried about viewing the num-
193 ber of possible completions generated by the p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\be-\b-
194 t\bti\bio\bon\bns\bs command. It may be set to any integer value greater than
195 or equal to zero. If the number of possible completions is
196 greater than or equal to the value of this variable, the user is
197 asked whether or not he wishes to view them; otherwise they are
198 simply listed on the terminal. A negative value causes readline
199 to never ask.
aac48392 200 c\bco\bon\bnv\bve\ber\brt\bt-\b-m\bme\bet\bta\ba (\b(O\bOn\bn)\b)
b585a9fa
EZ
201 If set to O\bOn\bn, readline will convert characters with the eighth
202 bit set to an ASCII key sequence by stripping the eighth bit and
203 prefixing it with an escape character (in effect, using escape
204 as the _\bm_\be_\bt_\ba _\bp_\br_\be_\bf_\bi_\bx).
aac48392 205 d\bdi\bis\bsa\bab\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bn (\b(O\bOf\bff\bf)\b)
b585a9fa
EZ
206 If set to O\bOn\bn, readline will inhibit word completion. Completion
207 characters will be inserted into the line as if they had been
208 mapped to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt.
aac48392 209 e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be (\b(e\bem\bma\bac\bcs\bs)\b)
b585a9fa
EZ
210 Controls whether readline begins with a set of key bindings sim-
211 ilar to emacs or vi. e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be can be set to either e\bem\bma\bac\bcs\bs or
212 v\bvi\bi.
aac48392 213 e\ben\bna\bab\bbl\ble\be-\b-k\bke\bey\byp\bpa\bad\bd (\b(O\bOf\bff\bf)\b)
b585a9fa
EZ
214 When set to O\bOn\bn, readline will try to enable the application key-
215 pad when it is called. Some systems need this to enable the
216 arrow keys.
f9267e15 217 e\bex\bxp\bpa\ban\bnd\bd-\b-t\bti\bil\bld\bde\be (\b(O\bOf\bff\bf)\b)
b585a9fa
EZ
218 If set to o\bon\bn, tilde expansion is performed when readline
219 attempts word completion.
220 h\bhi\bis\bst\bto\bor\bry\by-\b-p\bpr\bre\bes\bse\ber\brv\bve\be-\b-p\bpo\boi\bin\bnt\bt (\b(O\bOf\bff\bf)\b)
221 If set to o\bon\bn, the history code attempts to place point at the
222 same location on each history line retrieved with p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bs-\b-
223 t\bto\bor\bry\by or n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by.
aac48392 224 h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsc\bcr\bro\bol\bll\bl-\b-m\bmo\bod\bde\be (\b(O\bOf\bff\bf)\b)
b585a9fa
EZ
225 When set to O\bOn\bn, makes readline use a single line for display,
226 scrolling the input horizontally on a single screen line when it
227 becomes longer than the screen width rather than wrapping to a
228 new line.
c862e87b 229 i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
b585a9fa
EZ
230 If set to O\bOn\bn, readline will enable eight-bit input (that is, it
231 will not clear the eighth bit in the characters it reads),
232 regardless of what the terminal claims it can support. The name
233 m\bme\bet\bta\ba-\b-f\bfl\bla\bag\bg is a synonym for this variable.
84041b4c 234 i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs (\b(`\b``\b`C\bC-\b-[\b[ C\bC-\b-J\bJ'\b''\b')\b)
b585a9fa
EZ
235 The string of characters that should terminate an incremental
236 search without subsequently executing the character as a com-
237 mand. If this variable has not been given a value, the charac-
238 ters _\bE_\bS_\bC and _\bC_\b-_\bJ will terminate an incremental search.
aac48392 239 k\bke\bey\bym\bma\bap\bp (\b(e\bem\bma\bac\bcs\bs)\b)
b585a9fa
EZ
240 Set the current readline keymap. The set of legal keymap names
241 is _\be_\bm_\ba_\bc_\bs_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bm_\be_\bt_\ba_\b, _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx_\b, _\bv_\bi_\b, _\bv_\bi_\b-_\bm_\bo_\bv_\be_\b,
242 _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd, and _\bv_\bi_\b-_\bi_\bn_\bs_\be_\br_\bt. _\bv_\bi is equivalent to _\bv_\bi_\b-_\bc_\bo_\bm_\bm_\ba_\bn_\bd;
243 _\be_\bm_\ba_\bc_\bs is equivalent to _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd. The default value is
244 _\be_\bm_\ba_\bc_\bs. The value of e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be also affects the default
aac48392
SS
245 keymap.
246 m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOn\bn)\b)
b585a9fa 247 If set to O\bOn\bn, completed directory names have a slash appended.
aac48392 248 m\bma\bar\brk\bk-\b-m\bmo\bod\bdi\bif\bfi\bie\bed\bd-\b-l\bli\bin\bne\bes\bs (\b(O\bOf\bff\bf)\b)
b585a9fa
EZ
249 If set to O\bOn\bn, history lines that have been modified are dis-
250 played with a preceding asterisk (*\b*).
84041b4c 251 m\bma\bar\brk\bk-\b-s\bsy\bym\bml\bli\bin\bnk\bke\bed\bd-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs (\b(O\bOf\bff\bf)\b)
b585a9fa
EZ
252 If set to O\bOn\bn, completed names which are symbolic links to direc-
253 tories have a slash appended (subject to the value of
254 m\bma\bar\brk\bk-\b-d\bdi\bir\bre\bec\bct\bto\bor\bri\bie\bes\bs).
84041b4c 255 m\bma\bat\btc\bch\bh-\b-h\bhi\bid\bdd\bde\ben\bn-\b-f\bfi\bil\ble\bes\bs (\b(O\bOn\bn)\b)
b585a9fa
EZ
256 This variable, when set to O\bOn\bn, causes readline to match files
257 whose names begin with a `.' (hidden files) when performing
258 filename completion, unless the leading `.' is supplied by the
259 user in the filename to be completed.
aac48392 260 o\bou\but\btp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
b585a9fa
EZ
261 If set to O\bOn\bn, readline will display characters with the eighth
262 bit set directly rather than as a meta-prefixed escape sequence.
84041b4c 263 p\bpa\bag\bge\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(O\bOn\bn)\b)
b585a9fa
EZ
264 If set to O\bOn\bn, readline uses an internal _\bm_\bo_\br_\be-like pager to dis-
265 play a screenful of possible completions at a time.
aac48392 266 p\bpr\bri\bin\bnt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bll\bly\by (\b(O\bOf\bff\bf)\b)
b585a9fa
EZ
267 If set to O\bOn\bn, readline will display completions with matches
268 sorted horizontally in alphabetical order, rather than down the
269 screen.
aac48392 270 s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs (\b(O\bOf\bff\bf)\b)
b585a9fa
EZ
271 This alters the default behavior of the completion functions.
272 If set to o\bon\bn, words which have more than one possible completion
273 cause the matches to be listed immediately instead of ringing
274 the bell.
275 s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-u\bun\bnm\bmo\bod\bdi\bif\bfi\bie\bed\bd (\b(O\bOf\bff\bf)\b)
276 This alters the default behavior of the completion functions in
277 a fashion similar to s\bsh\bho\bow\bw-\b-a\bal\bll\bl-\b-i\bif\bf-\b-a\bam\bmb\bbi\big\bgu\buo\bou\bus\bs. If set to o\bon\bn, words
278 which have more than one possible completion without any possi-
279 ble partial completion (the possible completions don't share a
280 common prefix) cause the matches to be listed immediately
281 instead of ringing the bell.
aac48392 282 v\bvi\bis\bsi\bib\bbl\ble\be-\b-s\bst\bta\bat\bts\bs (\b(O\bOf\bff\bf)\b)
b585a9fa
EZ
283 If set to O\bOn\bn, a character denoting a file's type as reported by
284 _\bs_\bt_\ba_\bt(2) is appended to the filename when listing possible com-
285 pletions.
aac48392
SS
286
287 C\bCo\bon\bnd\bdi\bit\bti\bio\bon\bna\bal\bl C\bCo\bon\bns\bst\btr\bru\buc\bct\bts\bs
b585a9fa
EZ
288 Readline implements a facility similar in spirit to the conditional
289 compilation features of the C preprocessor which allows key bindings
290 and variable settings to be performed as the result of tests. There
291 are four parser directives used.
292
293 $\b$i\bif\bf The $\b$i\bif\bf construct allows bindings to be made based on the edit-
294 ing mode, the terminal being used, or the application using
295 readline. The text of the test extends to the end of the line;
296 no characters are required to isolate it.
297
298 m\bmo\bod\bde\be The m\bmo\bod\bde\be=\b= form of the $\b$i\bif\bf directive is used to test
299 whether readline is in emacs or vi mode. This may be
300 used in conjunction with the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for
301 instance, to set bindings in the _\be_\bm_\ba_\bc_\bs_\b-_\bs_\bt_\ba_\bn_\bd_\ba_\br_\bd and
302 _\be_\bm_\ba_\bc_\bs_\b-_\bc_\bt_\bl_\bx keymaps only if readline is starting out in
303 emacs mode.
304
305 t\bte\ber\brm\bm The t\bte\ber\brm\bm=\b= form may be used to include terminal-specific
306 key bindings, perhaps to bind the key sequences output by
307 the terminal's function keys. The word on the right side
308 of the =\b= is tested against the full name of the terminal
309 and the portion of the terminal name before the first -\b-.
310 This allows _\bs_\bu_\bn to match both _\bs_\bu_\bn and _\bs_\bu_\bn_\b-_\bc_\bm_\bd, for
311 instance.
aac48392
SS
312
313 a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn
b585a9fa
EZ
314 The a\bap\bpp\bpl\bli\bic\bca\bat\bti\bio\bon\bn construct is used to include application-
315 specific settings. Each program using the readline
316 library sets the _\ba_\bp_\bp_\bl_\bi_\bc_\ba_\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an initialization
317 file can test for a particular value. This could be used
318 to bind key sequences to functions useful for a specific
319 program. For instance, the following command adds a key
320 sequence that quotes the current or previous word in
aac48392
SS
321 Bash:
322
84041b4c 323 $\b$i\bif\bf Bash
aac48392
SS
324 # Quote the current or previous word
325 "\C-xq": "\eb\"\ef\""
326 $\b$e\ben\bnd\bdi\bif\bf
327
b585a9fa
EZ
328 $\b$e\ben\bnd\bdi\bif\bf This command, as seen in the previous example, terminates an $\b$i\bif\bf
329 command.
aac48392 330
b585a9fa
EZ
331 $\b$e\bel\bls\bse\be Commands in this branch of the $\b$i\bif\bf directive are executed if the
332 test fails.
aac48392
SS
333
334 $\b$i\bin\bnc\bcl\blu\bud\bde\be
b585a9fa
EZ
335 This directive takes a single filename as an argument and reads
336 commands and bindings from that file. For example, the follow-
337 ing directive would read _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc:
f9267e15 338
c862e87b
JM
339 $\b$i\bin\bnc\bcl\blu\bud\bde\be _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc
340
341S\bSE\bEA\bAR\bRC\bCH\bHI\bIN\bNG\bG
b585a9fa
EZ
342 Readline provides commands for searching through the command history
343 for lines containing a specified string. There are two search modes:
344 _\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl and _\bn_\bo_\bn_\b-_\bi_\bn_\bc_\br_\be_\bm_\be_\bn_\bt_\ba_\bl.
345
346 Incremental searches begin before the user has finished typing the
347 search string. As each character of the search string is typed, read-
348 line displays the next entry from the history matching the string typed
349 so far. An incremental search requires only as many characters as
350 needed to find the desired history entry. To search backward in the
351 history for a particular string, type C\bC-\b-r\br. Typing C\bC-\b-s\bs searches forward
352 through the history. The characters present in the value of the
353 i\bis\bse\bea\bar\brc\bch\bh-\b-t\bte\ber\brm\bmi\bin\bna\bat\bto\bor\brs\bs variable are used to terminate an incremental
354 search. If that variable has not been assigned a value the _\bE_\bs_\bc_\ba_\bp_\be and
355 C\bC-\b-J\bJ characters will terminate an incremental search. C\bC-\b-G\bG will abort an
356 incremental search and restore the original line. When the search is
357 terminated, the history entry containing the search string becomes the
358 current line.
359
360 To find other matching entries in the history list, type C\bC-\b-s\bs or C\bC-\b-r\br as
361 appropriate. This will search backward or forward in the history for
362 the next line matching the search string typed so far. Any other key
363 sequence bound to a readline command will terminate the search and exe-
364 cute that command. For instance, a newline will terminate the search
365 and accept the line, thereby executing the command from the history
366 list. A movement command will terminate the search, make the last line
367 found the current line, and begin editing.
368
369 Non-incremental searches read the entire search string before starting
370 to search for matching history lines. The search string may be typed
371 by the user or be part of the contents of the current line.
aac48392
SS
372
373E\bED\bDI\bIT\bTI\bIN\bNG\bG C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
b585a9fa
EZ
374 The following is a list of the names of the commands and the default
375 key sequences to which they are bound. Command names without an accom-
376 panying key sequence are unbound by default.
aac48392 377
b585a9fa
EZ
378 In the following descriptions, _\bp_\bo_\bi_\bn_\bt refers to the current cursor posi-
379 tion, and _\bm_\ba_\br_\bk refers to a cursor position saved by the s\bse\bet\bt-\b-m\bma\bar\brk\bk com-
380 mand. The text between the point and mark is referred to as the
381 _\br_\be_\bg_\bi_\bo_\bn.
84041b4c 382
aac48392
SS
383 C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMo\bov\bvi\bin\bng\bg
384 b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-l\bli\bin\bne\be (\b(C\bC-\b-a\ba)\b)
385 Move to the start of the current line.
386 e\ben\bnd\bd-\b-o\bof\bf-\b-l\bli\bin\bne\be (\b(C\bC-\b-e\be)\b)
387 Move to the end of the line.
388 f\bfo\bor\brw\bwa\bar\brd\bd-\b-c\bch\bha\bar\br (\b(C\bC-\b-f\bf)\b)
389 Move forward a character.
390 b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-c\bch\bha\bar\br (\b(C\bC-\b-b\bb)\b)
391 Move back a character.
f9267e15 392 f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-f\bf)\b)
b585a9fa
EZ
393 Move forward to the end of the next word. Words are composed of
394 alphanumeric characters (letters and digits).
c862e87b 395 b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-b\bb)\b)
b585a9fa
EZ
396 Move back to the start of the current or previous word. Words
397 are composed of alphanumeric characters (letters and digits).
c862e87b 398 c\bcl\ble\bea\bar\br-\b-s\bsc\bcr\bre\bee\ben\bn (\b(C\bC-\b-l\bl)\b)
b585a9fa
EZ
399 Clear the screen leaving the current line at the top of the
400 screen. With an argument, refresh the current line without
401 clearing the screen.
aac48392
SS
402 r\bre\bed\bdr\bra\baw\bw-\b-c\bcu\bur\brr\bre\ben\bnt\bt-\b-l\bli\bin\bne\be
403 Refresh the current line.
404
405 C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br M\bMa\ban\bni\bip\bpu\bul\bla\bat\bti\bin\bng\bg t\bth\bhe\be H\bHi\bis\bst\bto\bor\bry\by
406 a\bac\bcc\bce\bep\bpt\bt-\b-l\bli\bin\bne\be (\b(N\bNe\bew\bwl\bli\bin\bne\be,\b, R\bRe\bet\btu\bur\brn\bn)\b)
b585a9fa
EZ
407 Accept the line regardless of where the cursor is. If this line
408 is non-empty, it may be added to the history list for future
409 recall with a\bad\bdd\bd_\b_h\bhi\bis\bst\bto\bor\bry\by(\b()\b). If the line is a modified history
410 line, the history line is restored to its original state.
aac48392 411 p\bpr\bre\bev\bvi\bio\bou\bus\bs-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-p\bp)\b)
b585a9fa
EZ
412 Fetch the previous command from the history list, moving back in
413 the list.
aac48392 414 n\bne\bex\bxt\bt-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-n\bn)\b)
b585a9fa
EZ
415 Fetch the next command from the history list, moving forward in
416 the list.
aac48392
SS
417 b\bbe\beg\bgi\bin\bnn\bni\bin\bng\bg-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-<\b<)\b)
418 Move to the first line in the history.
419 e\ben\bnd\bd-\b-o\bof\bf-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b->\b>)\b)
b585a9fa
EZ
420 Move to the end of the input history, i.e., the line currently
421 being entered.
aac48392 422 r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-r\br)\b)
b585a9fa
EZ
423 Search backward starting at the current line and moving `up'
424 through the history as necessary. This is an incremental
425 search.
aac48392 426 f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(C\bC-\b-s\bs)\b)
b585a9fa
EZ
427 Search forward starting at the current line and moving `down'
428 through the history as necessary. This is an incremental
429 search.
aac48392 430 n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-r\bre\bev\bve\ber\brs\bse\be-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-p\bp)\b)
b585a9fa
EZ
431 Search backward through the history starting at the current line
432 using a non-incremental search for a string supplied by the
aac48392 433 user.
b585a9fa
EZ
434 n\bno\bon\bn-\b-i\bin\bnc\bcr\bre\bem\bme\ben\bnt\bta\bal\bl-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-s\bse\bea\bar\brc\bch\bh-\b-h\bhi\bis\bst\bto\bor\bry\by (\b(M\bM-\b-n\bn)\b)
435 Search forward through the history using a non-incremental
436 search for a string supplied by the user.
aac48392 437 h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-f\bfo\bor\brw\bwa\bar\brd\bd
b585a9fa
EZ
438 Search forward through the history for the string of characters
439 between the start of the current line and the current cursor
440 position (the _\bp_\bo_\bi_\bn_\bt). This is a non-incremental search.
f9267e15 441 h\bhi\bis\bst\bto\bor\bry\by-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd
b585a9fa
EZ
442 Search backward through the history for the string of characters
443 between the start of the current line and the point. This is a
444 non-incremental search.
c862e87b 445 y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg (\b(M\bM-\b-C\bC-\b-y\by)\b)
b585a9fa
EZ
446 Insert the first argument to the previous command (usually the
447 second word on the previous line) at point. With an argument _\bn,
448 insert the _\bnth word from the previous command (the words in the
449 previous command begin with word 0). A negative argument
450 inserts the _\bnth word from the end of the previous command. Once
451 the argument _\bn is computed, the argument is extracted as if the
452 "!_\bn" history expansion had been specified.
aac48392 453 y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg (\b(M\bM-\b-.\b.,\b, M\bM-\b-_\b_)\b)
b585a9fa
EZ
454 Insert the last argument to the previous command (the last word
455 of the previous history entry). With an argument, behave
456 exactly like y\bya\ban\bnk\bk-\b-n\bnt\bth\bh-\b-a\bar\brg\bg. Successive calls to y\bya\ban\bnk\bk-\b-l\bla\bas\bst\bt-\b-a\bar\brg\bg
457 move back through the history list, inserting the last argument
458 of each line in turn. The history expansion facilities are used
459 to extract the last argument, as if the "!$" history expansion
460 had been specified.
aac48392
SS
461
462 C\bCo\bom\bmm\bma\ban\bnd\bds\bs f\bfo\bor\br C\bCh\bha\ban\bng\bgi\bin\bng\bg T\bTe\bex\bxt\bt
463 d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(C\bC-\b-d\bd)\b)
b585a9fa
EZ
464 Delete the character at point. If point is at the beginning of
465 the line, there are no characters in the line, and the last
466 character typed was not bound to d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br, then return E\bEO\bOF\bF.
aac48392 467 b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br (\b(R\bRu\bub\bbo\bou\but\bt)\b)
b585a9fa
EZ
468 Delete the character behind the cursor. When given a numeric
469 argument, save the deleted text on the kill ring.
c862e87b 470 f\bfo\bor\brw\bwa\bar\brd\bd-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br
b585a9fa
EZ
471 Delete the character under the cursor, unless the cursor is at
472 the end of the line, in which case the character behind the cur-
473 sor is deleted.
aac48392 474 q\bqu\buo\bot\bte\bed\bd-\b-i\bin\bns\bse\ber\brt\bt (\b(C\bC-\b-q\bq,\b, C\bC-\b-v\bv)\b)
b585a9fa
EZ
475 Add the next character that you type to the line verbatim. This
476 is how to insert characters like C\bC-\b-q\bq, for example.
aac48392
SS
477 t\bta\bab\bb-\b-i\bin\bns\bse\ber\brt\bt (\b(M\bM-\b-T\bTA\bAB\bB)\b)
478 Insert a tab character.
479 s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt (\b(a\ba,\b, b\bb,\b, A\bA,\b, 1\b1,\b, !\b!,\b, .\b..\b..\b.)\b)
480 Insert the character typed.
481 t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-c\bch\bha\bar\brs\bs (\b(C\bC-\b-t\bt)\b)
b585a9fa
EZ
482 Drag the character before point forward over the character at
483 point, moving point forward as well. If point is at the end of
484 the line, then this transposes the two characters before point.
485 Negative arguments have no effect.
aac48392 486 t\btr\bra\ban\bns\bsp\bpo\bos\bse\be-\b-w\bwo\bor\brd\bds\bs (\b(M\bM-\b-t\bt)\b)
b585a9fa
EZ
487 Drag the word before point past the word after point, moving
488 point over that word as well. If point is at the end of the
489 line, this transposes the last two words on the line.
f9267e15 490 u\bup\bpc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-u\bu)\b)
b585a9fa
EZ
491 Uppercase the current (or following) word. With a negative
492 argument, uppercase the previous word, but do not move point.
aac48392 493 d\bdo\bow\bwn\bnc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-l\bl)\b)
b585a9fa
EZ
494 Lowercase the current (or following) word. With a negative
495 argument, lowercase the previous word, but do not move point.
aac48392 496 c\bca\bap\bpi\bit\bta\bal\bli\biz\bze\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-c\bc)\b)
b585a9fa
EZ
497 Capitalize the current (or following) word. With a negative
498 argument, capitalize the previous word, but do not move point.
84041b4c 499 o\bov\bve\ber\brw\bwr\bri\bit\bte\be-\b-m\bmo\bod\bde\be
b585a9fa
EZ
500 Toggle overwrite mode. With an explicit positive numeric argu-
501 ment, switches to overwrite mode. With an explicit non-positive
502 numeric argument, switches to insert mode. This command affects
503 only e\bem\bma\bac\bcs\bs mode; v\bvi\bi mode does overwrite differently. Each call
504 to _\br_\be_\ba_\bd_\bl_\bi_\bn_\be_\b(_\b) starts in insert mode. In overwrite mode, charac-
505 ters bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt replace the text at point rather than
506 pushing the text to the right. Characters bound to b\bba\bac\bck\bk-\b-
507 w\bwa\bar\brd\bd-\b-d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br replace the character before point with a
508 space. By default, this command is unbound.
aac48392
SS
509
510 K\bKi\bil\bll\bli\bin\bng\bg a\ban\bnd\bd Y\bYa\ban\bnk\bki\bin\bng\bg
511 k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-k\bk)\b)
84041b4c 512 Kill the text from point to the end of the line.
aac48392
SS
513 b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-l\bli\bin\bne\be (\b(C\bC-\b-x\bx R\bRu\bub\bbo\bou\but\bt)\b)
514 Kill backward to the beginning of the line.
515 u\bun\bni\bix\bx-\b-l\bli\bin\bne\be-\b-d\bdi\bis\bsc\bca\bar\brd\bd (\b(C\bC-\b-u\bu)\b)
b585a9fa
EZ
516 Kill backward from point to the beginning of the line. The
517 killed text is saved on the kill-ring.
aac48392 518 k\bki\bil\bll\bl-\b-w\bwh\bho\bol\ble\be-\b-l\bli\bin\bne\be
b585a9fa
EZ
519 Kill all characters on the current line, no matter where point
520 is.
aac48392 521 k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
b585a9fa
EZ
522 Kill from point the end of the current word, or if between
523 words, to the end of the next word. Word boundaries are the
524 same as those used by f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
aac48392 525 b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-R\bRu\bub\bbo\bou\but\bt)\b)
b585a9fa
EZ
526 Kill the word behind point. Word boundaries are the same as
527 those used by b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
aac48392 528 u\bun\bni\bix\bx-\b-w\bwo\bor\brd\bd-\b-r\bru\bub\bbo\bou\but\bt (\b(C\bC-\b-w\bw)\b)
b585a9fa
EZ
529 Kill the word behind point, using white space as a word bound-
530 ary. The killed text is saved on the kill-ring.
531 u\bun\bni\bix\bx-\b-f\bfi\bil\ble\ben\bna\bam\bme\be-\b-r\bru\bub\bbo\bou\but\bt
532 Kill the word behind point, using white space and the slash
533 character as the word boundaries. The killed text is saved on
534 the kill-ring.
aac48392
SS
535 d\bde\bel\ble\bet\bte\be-\b-h\bho\bor\bri\biz\bzo\bon\bnt\bta\bal\bl-\b-s\bsp\bpa\bac\bce\be (\b(M\bM-\b-\\b\)\b)
536 Delete all spaces and tabs around point.
537 k\bki\bil\bll\bl-\b-r\bre\beg\bgi\bio\bon\bn
b585a9fa
EZ
538 Kill the text between the point and _\bm_\ba_\br_\bk (saved cursor posi-
539 tion). This text is referred to as the _\br_\be_\bg_\bi_\bo_\bn.
aac48392
SS
540 c\bco\bop\bpy\by-\b-r\bre\beg\bgi\bio\bon\bn-\b-a\bas\bs-\b-k\bki\bil\bll\bl
541 Copy the text in the region to the kill buffer.
542 c\bco\bop\bpy\by-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
b585a9fa
EZ
543 Copy the word before point to the kill buffer. The word bound-
544 aries are the same as b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
aac48392 545 c\bco\bop\bpy\by-\b-f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd
b585a9fa
EZ
546 Copy the word following point to the kill buffer. The word
547 boundaries are the same as f\bfo\bor\brw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd.
aac48392 548 y\bya\ban\bnk\bk (\b(C\bC-\b-y\by)\b)
b585a9fa 549 Yank the top of the kill ring into the buffer at point.
f9267e15 550 y\bya\ban\bnk\bk-\b-p\bpo\bop\bp (\b(M\bM-\b-y\by)\b)
b585a9fa
EZ
551 Rotate the kill ring, and yank the new top. Only works follow-
552 ing y\bya\ban\bnk\bk or y\bya\ban\bnk\bk-\b-p\bpo\bop\bp.
f9267e15 553
aac48392
SS
554 N\bNu\bum\bme\ber\bri\bic\bc A\bAr\brg\bgu\bum\bme\ben\bnt\bts\bs
555 d\bdi\big\bgi\bit\bt-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt (\b(M\bM-\b-0\b0,\b, M\bM-\b-1\b1,\b, .\b..\b..\b.,\b, M\bM-\b--\b-)\b)
b585a9fa
EZ
556 Add this digit to the argument already accumulating, or start a
557 new argument. M-- starts a negative argument.
aac48392 558 u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt
b585a9fa
EZ
559 This is another way to specify an argument. If this command is
560 followed by one or more digits, optionally with a leading minus
561 sign, those digits define the argument. If the command is fol-
562 lowed by digits, executing u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt again ends the
563 numeric argument, but is otherwise ignored. As a special case,
564 if this command is immediately followed by a character that is
565 neither a digit or minus sign, the argument count for the next
566 command is multiplied by four. The argument count is initially
567 one, so executing this function the first time makes the argu-
568 ment count four, a second time makes the argument count sixteen,
569 and so on.
aac48392
SS
570
571 C\bCo\bom\bmp\bpl\ble\bet\bti\bin\bng\bg
572 c\bco\bom\bmp\bpl\ble\bet\bte\be (\b(T\bTA\bAB\bB)\b)
b585a9fa
EZ
573 Attempt to perform completion on the text before point. The
574 actual completion performed is application-specific. B\bBa\bas\bsh\bh, for
575 instance, attempts completion treating the text as a variable
576 (if the text begins with $\b$), username (if the text begins with
577 ~\b~), hostname (if the text begins with @\b@), or command (including
578 aliases and functions) in turn. If none of these produces a
579 match, filename completion is attempted. G\bGd\bdb\bb, on the other
580 hand, allows completion of program functions and variables, and
581 only attempts filename completion under certain circumstances.
aac48392 582 p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-?\b?)\b)
b585a9fa 583 List the possible completions of the text before point.
aac48392 584 i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs (\b(M\bM-\b-*\b*)\b)
b585a9fa
EZ
585 Insert all completions of the text before point that would have
586 been generated by p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs.
aac48392 587 m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be
b585a9fa
EZ
588 Similar to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be completed with
589 a single match from the list of possible completions. Repeated
590 execution of m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be steps through the list of possible
591 completions, inserting each match in turn. At the end of the
592 list of completions, the bell is rung (subject to the setting of
593 b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be) and the original text is restored. An argument of _\bn
594 moves _\bn positions forward in the list of matches; a negative
595 argument may be used to move backward through the list. This
596 command is intended to be bound to T\bTA\bAB\bB, but is unbound by
597 default.
c862e87b 598 d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br-\b-o\bor\br-\b-l\bli\bis\bst\bt
b585a9fa
EZ
599 Deletes the character under the cursor if not at the beginning
600 or end of the line (like d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br). If at the end of the
601 line, behaves identically to p\bpo\bos\bss\bsi\bib\bbl\ble\be-\b-c\bco\bom\bmp\bpl\ble\bet\bti\bio\bon\bns\bs.
aac48392 602
c862e87b
JM
603 K\bKe\bey\byb\bbo\boa\bar\brd\bd M\bMa\bac\bcr\bro\bos\bs
604 s\bst\bta\bar\brt\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx (\b()\b)
b585a9fa
EZ
605 Begin saving the characters typed into the current keyboard
606 macro.
c862e87b 607 e\ben\bnd\bd-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx )\b))\b)
b585a9fa
EZ
608 Stop saving the characters typed into the current keyboard macro
609 and store the definition.
c862e87b 610 c\bca\bal\bll\bl-\b-l\bla\bas\bst\bt-\b-k\bkb\bbd\bd-\b-m\bma\bac\bcr\bro\bo (\b(C\bC-\b-x\bx e\be)\b)
b585a9fa
EZ
611 Re-execute the last keyboard macro defined, by making the char-
612 acters in the macro appear as if typed at the keyboard.
aac48392
SS
613
614 M\bMi\bis\bsc\bce\bel\bll\bla\ban\bne\beo\bou\bus\bs
615 r\bre\be-\b-r\bre\bea\bad\bd-\b-i\bin\bni\bit\bt-\b-f\bfi\bil\ble\be (\b(C\bC-\b-x\bx C\bC-\b-r\br)\b)
b585a9fa
EZ
616 Read in the contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file, and incorporate any
617 bindings or variable assignments found there.
aac48392 618 a\bab\bbo\bor\brt\bt (\b(C\bC-\b-g\bg)\b)
b585a9fa
EZ
619 Abort the current editing command and ring the terminal's bell
620 (subject to the setting of b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be).
aac48392 621 d\bdo\bo-\b-u\bup\bpp\bpe\ber\brc\bca\bas\bse\be-\b-v\bve\ber\brs\bsi\bio\bon\bn (\b(M\bM-\b-a\ba,\b, M\bM-\b-b\bb,\b, M\bM-\b-_\bx,\b, .\b..\b..\b.)\b)
b585a9fa
EZ
622 If the metafied character _\bx is lowercase, run the command that
623 is bound to the corresponding uppercase character.
aac48392 624 p\bpr\bre\bef\bfi\bix\bx-\b-m\bme\bet\bta\ba (\b(E\bES\bSC\bC)\b)
b585a9fa 625 Metafy the next character typed. E\bES\bSC\bC f\bf is equivalent to M\bMe\bet\bta\ba-\b-f\bf.
aac48392 626 u\bun\bnd\bdo\bo (\b(C\bC-\b-_\b_,\b, C\bC-\b-x\bx C\bC-\b-u\bu)\b)
b585a9fa 627 Incremental undo, separately remembered for each line.
aac48392 628 r\bre\bev\bve\ber\brt\bt-\b-l\bli\bin\bne\be (\b(M\bM-\b-r\br)\b)
b585a9fa
EZ
629 Undo all changes made to this line. This is like executing the
630 u\bun\bnd\bdo\bo command enough times to return the line to its initial
631 state.
c862e87b 632 t\bti\bil\bld\bde\be-\b-e\bex\bxp\bpa\ban\bnd\bd (\b(M\bM-\b-&\b&)\b)
aac48392
SS
633 Perform tilde expansion on the current word.
634 s\bse\bet\bt-\b-m\bma\bar\brk\bk (\b(C\bC-\b-@\b@,\b, M\bM-\b-<\b<s\bsp\bpa\bac\bce\be>\b>)\b)
b585a9fa
EZ
635 Set the mark to the point. If a numeric argument is supplied,
636 the mark is set to that position.
aac48392 637 e\bex\bxc\bch\bha\ban\bng\bge\be-\b-p\bpo\boi\bin\bnt\bt-\b-a\ban\bnd\bd-\b-m\bma\bar\brk\bk (\b(C\bC-\b-x\bx C\bC-\b-x\bx)\b)
b585a9fa
EZ
638 Swap the point with the mark. The current cursor position is
639 set to the saved position, and the old cursor position is saved
640 as the mark.
f9267e15 641 c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh (\b(C\bC-\b-]\b])\b)
b585a9fa
EZ
642 A character is read and point is moved to the next occurrence of
643 that character. A negative count searches for previous occur-
644 rences.
aac48392 645 c\bch\bha\bar\bra\bac\bct\bte\ber\br-\b-s\bse\bea\bar\brc\bch\bh-\b-b\bba\bac\bck\bkw\bwa\bar\brd\bd (\b(M\bM-\b-C\bC-\b-]\b])\b)
b585a9fa
EZ
646 A character is read and point is moved to the previous occur-
647 rence of that character. A negative count searches for subse-
648 quent occurrences.
aac48392 649 i\bin\bns\bse\ber\brt\bt-\b-c\bco\bom\bmm\bme\ben\bnt\bt (\b(M\bM-\b-#\b#)\b)
b585a9fa
EZ
650 Without a numeric argument, the value of the readline c\bco\bom\bm-\b-
651 m\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn variable is inserted at the beginning of the current
652 line. If a numeric argument is supplied, this command acts as a
653 toggle: if the characters at the beginning of the line do not
654 match the value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn, the value is inserted, other-
655 wise the characters in c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn are deleted from the begin-
656 ning of the line. In either case, the line is accepted as if a
657 newline had been typed. The default value of c\bco\bom\bmm\bme\ben\bnt\bt-\b-b\bbe\beg\bgi\bin\bn
658 makes the current line a shell comment. If a numeric argument
659 causes the comment character to be removed, the line will be
660 executed by the shell.
aac48392 661 d\bdu\bum\bmp\bp-\b-f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs
b585a9fa
EZ
662 Print all of the functions and their key bindings to the read-
663 line output stream. If a numeric argument is supplied, the out-
664 put is formatted in such a way that it can be made part of an
665 _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
aac48392 666 d\bdu\bum\bmp\bp-\b-v\bva\bar\bri\bia\bab\bbl\ble\bes\bs
b585a9fa
EZ
667 Print all of the settable variables and their values to the
668 readline output stream. If a numeric argument is supplied, the
669 output is formatted in such a way that it can be made part of an
670 _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
aac48392 671 d\bdu\bum\bmp\bp-\b-m\bma\bac\bcr\bro\bos\bs
b585a9fa
EZ
672 Print all of the readline key sequences bound to macros and the
673 strings they output. If a numeric argument is supplied, the
674 output is formatted in such a way that it can be made part of an
675 _\bi_\bn_\bp_\bu_\bt_\br_\bc file.
aac48392 676 e\bem\bma\bac\bcs\bs-\b-e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be (\b(C\bC-\b-e\be)\b)
b585a9fa
EZ
677 When in v\bvi\bi command mode, this causes a switch to e\bem\bma\bac\bcs\bs editing
678 mode.
aac48392 679 v\bvi\bi-\b-e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be (\b(M\bM-\b-C\bC-\b-j\bj)\b)
b585a9fa
EZ
680 When in e\bem\bma\bac\bcs\bs editing mode, this causes a switch to v\bvi\bi editing
681 mode.
aac48392
SS
682
683D\bDE\bEF\bFA\bAU\bUL\bLT\bT K\bKE\bEY\bY B\bBI\bIN\bND\bDI\bIN\bNG\bGS\bS
b585a9fa
EZ
684 The following is a list of the default emacs and vi bindings. Charac-
685 ters with the eighth bit set are written as M-<character>, and are
686 referred to as _\bm_\be_\bt_\ba_\bf_\bi_\be_\bd characters. The printable ASCII characters not
687 mentioned in the list of emacs standard bindings are bound to the
688 s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt function, which just inserts the given character into the
689 input line. In vi insertion mode, all characters not specifically men-
690 tioned are bound to s\bse\bel\blf\bf-\b-i\bin\bns\bse\ber\brt\bt. Characters assigned to signal genera-
691 tion by _\bs_\bt_\bt_\by(1) or the terminal driver, such as C-Z or C-C, retain that
692 function. Upper and lower case metafied characters are bound to the
693 same function in the emacs mode meta keymap. The remaining characters
694 are unbound, which causes readline to ring the bell (subject to the
695 setting of the b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be variable).
f9267e15 696
aac48392
SS
697 E\bEm\bma\bac\bcs\bs M\bMo\bod\bde\be
698 Emacs Standard bindings
699
700 "C-@" set-mark
701 "C-A" beginning-of-line
702 "C-B" backward-char
703 "C-D" delete-char
704 "C-E" end-of-line
705 "C-F" forward-char
706 "C-G" abort
707 "C-H" backward-delete-char
708 "C-I" complete
709 "C-J" accept-line
710 "C-K" kill-line
711 "C-L" clear-screen
712 "C-M" accept-line
713 "C-N" next-history
714 "C-P" previous-history
715 "C-Q" quoted-insert
716 "C-R" reverse-search-history
aac48392
SS
717 "C-S" forward-search-history
718 "C-T" transpose-chars
719 "C-U" unix-line-discard
720 "C-V" quoted-insert
721 "C-W" unix-word-rubout
722 "C-Y" yank
723 "C-]" character-search
724 "C-_" undo
725 " " to "/" self-insert
726 "0" to "9" self-insert
727 ":" to "~" self-insert
728 "C-?" backward-delete-char
729
730 Emacs Meta bindings
731
732 "M-C-G" abort
733 "M-C-H" backward-kill-word
734 "M-C-I" tab-insert
735 "M-C-J" vi-editing-mode
736 "M-C-M" vi-editing-mode
737 "M-C-R" revert-line
738 "M-C-Y" yank-nth-arg
739 "M-C-[" complete
740 "M-C-]" character-search-backward
741 "M-space" set-mark
742 "M-#" insert-comment
743 "M-&" tilde-expand
744 "M-*" insert-completions
745 "M--" digit-argument
746 "M-." yank-last-arg
747 "M-0" digit-argument
748 "M-1" digit-argument
f9267e15
EZ
749 "M-2" digit-argument
750 "M-3" digit-argument
aac48392
SS
751 "M-4" digit-argument
752 "M-5" digit-argument
753 "M-6" digit-argument
754 "M-7" digit-argument
755 "M-8" digit-argument
756 "M-9" digit-argument
757 "M-<" beginning-of-history
758 "M-=" possible-completions
759 "M->" end-of-history
760 "M-?" possible-completions
761 "M-B" backward-word
762 "M-C" capitalize-word
763 "M-D" kill-word
764 "M-F" forward-word
765 "M-L" downcase-word
766 "M-N" non-incremental-forward-search-history
767 "M-P" non-incremental-reverse-search-history
768 "M-R" revert-line
769 "M-T" transpose-words
770 "M-U" upcase-word
aac48392
SS
771 "M-Y" yank-pop
772 "M-\" delete-horizontal-space
773 "M-~" tilde-expand
84041b4c 774 "M-C-?" backward-kill-word
aac48392
SS
775 "M-_" yank-last-arg
776
777 Emacs Control-X bindings
778
779 "C-XC-G" abort
780 "C-XC-R" re-read-init-file
781 "C-XC-U" undo
782 "C-XC-X" exchange-point-and-mark
783 "C-X(" start-kbd-macro
784 "C-X)" end-kbd-macro
785 "C-XE" call-last-kbd-macro
786 "C-XC-?" backward-kill-line
787
788
789 V\bVI\bI M\bMo\bod\bde\be b\bbi\bin\bnd\bdi\bin\bng\bgs\bs
790 VI Insert Mode functions
791
792 "C-D" vi-eof-maybe
793 "C-H" backward-delete-char
794 "C-I" complete
795 "C-J" accept-line
796 "C-M" accept-line
797 "C-R" reverse-search-history
798 "C-S" forward-search-history
799 "C-T" transpose-chars
800 "C-U" unix-line-discard
801 "C-V" quoted-insert
802 "C-W" unix-word-rubout
f9267e15
EZ
803 "C-Y" yank
804 "C-[" vi-movement-mode
aac48392
SS
805 "C-_" undo
806 " " to "~" self-insert
807 "C-?" backward-delete-char
808
809 VI Command Mode functions
810
811 "C-D" vi-eof-maybe
812 "C-E" emacs-editing-mode
813 "C-G" abort
814 "C-H" backward-char
815 "C-J" accept-line
816 "C-K" kill-line
817 "C-L" clear-screen
818 "C-M" accept-line
819 "C-N" next-history
820 "C-P" previous-history
821 "C-Q" quoted-insert
822 "C-R" reverse-search-history
823 "C-S" forward-search-history
824 "C-T" transpose-chars
aac48392
SS
825 "C-U" unix-line-discard
826 "C-V" quoted-insert
827 "C-W" unix-word-rubout
828 "C-Y" yank
84041b4c 829 "C-_" vi-undo
aac48392
SS
830 " " forward-char
831 "#" insert-comment
832 "$" end-of-line
833 "%" vi-match
834 "&" vi-tilde-expand
835 "*" vi-complete
836 "+" next-history
837 "," vi-char-search
838 "-" previous-history
839 "." vi-redo
840 "/" vi-search
841 "0" beginning-of-line
842 "1" to "9" vi-arg-digit
843 ";" vi-char-search
844 "=" vi-complete
845 "?" vi-search
846 "A" vi-append-eol
847 "B" vi-prev-word
848 "C" vi-change-to
849 "D" vi-delete-to
850 "E" vi-end-word
851 "F" vi-char-search
852 "G" vi-fetch-history
853 "I" vi-insert-beg
854 "N" vi-search-again
855 "P" vi-put
856 "R" vi-replace
857 "S" vi-subst
f9267e15
EZ
858 "T" vi-char-search
859 "U" revert-line
aac48392
SS
860 "W" vi-next-word
861 "X" backward-delete-char
862 "Y" vi-yank-to
863 "\" vi-complete
864 "^" vi-first-print
865 "_" vi-yank-arg
866 "`" vi-goto-mark
867 "a" vi-append-mode
868 "b" vi-prev-word
869 "c" vi-change-to
870 "d" vi-delete-to
871 "e" vi-end-word
872 "f" vi-char-search
873 "h" backward-char
874 "i" vi-insertion-mode
875 "j" next-history
876 "k" prev-history
877 "l" forward-char
878 "m" vi-set-mark
879 "n" vi-search-again
aac48392
SS
880 "p" vi-put
881 "r" vi-change-char
882 "s" vi-subst
883 "t" vi-char-search
84041b4c 884 "u" vi-undo
aac48392
SS
885 "w" vi-next-word
886 "x" vi-delete
887 "y" vi-yank-to
888 "|" vi-column
889 "~" vi-change-case
890
891S\bSE\bEE\bE A\bAL\bLS\bSO\bO
892 _\bT_\bh_\be _\bG_\bn_\bu _\bR_\be_\ba_\bd_\bl_\bi_\bn_\be _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
893 _\bT_\bh_\be _\bG_\bn_\bu _\bH_\bi_\bs_\bt_\bo_\br_\by _\bL_\bi_\bb_\br_\ba_\br_\by, Brian Fox and Chet Ramey
894 _\bb_\ba_\bs_\bh(1)
895
896F\bFI\bIL\bLE\bES\bS
897 _\b~_\b/_\b._\bi_\bn_\bp_\bu_\bt_\br_\bc
898 Individual r\bre\bea\bad\bdl\bli\bin\bne\be initialization file
899
900A\bAU\bUT\bTH\bHO\bOR\bRS\bS
f9267e15
EZ
901 Brian Fox, Free Software Foundation
902 bfox@gnu.org
aac48392
SS
903
904 Chet Ramey, Case Western Reserve University
905 chet@ins.CWRU.Edu
906
907B\bBU\bUG\bG R\bRE\bEP\bPO\bOR\bRT\bTS\bS
b585a9fa
EZ
908 If you find a bug in r\bre\bea\bad\bdl\bli\bin\bne\be,\b, you should report it. But first, you
909 should make sure that it really is a bug, and that it appears in the
910 latest version of the r\bre\bea\bad\bdl\bli\bin\bne\be library that you have.
911
912 Once you have determined that a bug actually exists, mail a bug report
913 to _\bb_\bu_\bg_\b-_\br_\be_\ba_\bd_\bl_\bi_\bn_\be@_\bg_\bn_\bu_\b._\bo_\br_\bg. If you have a fix, you are welcome to mail
914 that as well! Suggestions and `philosophical' bug reports may be
915 mailed to _\bb_\bu_\bg_\b-_\br_\be_\ba_\bd_\bl_\bi_\bn_\be@_\bg_\bn_\bu_\b._\bo_\br_\bg or posted to the Usenet newsgroup
aac48392
SS
916 g\bgn\bnu\bu.\b.b\bba\bas\bsh\bh.\b.b\bbu\bug\bg.
917
b585a9fa
EZ
918 Comments and bug reports concerning this manual page should be directed
919 to _\bc_\bh_\be_\bt_\b@_\bi_\bn_\bs_\b._\bC_\bW_\bR_\bU_\b._\bE_\bd_\bu.
aac48392
SS
920
921B\bBU\bUG\bGS\bS
922 It's too big and too slow.
923
924
925
b585a9fa 926GNU Readline 5.1-beta1 2005 Sep 13 READLINE(3)
This page took 0.088309 seconds and 4 git commands to generate.