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