import of readline-4.3
[deliverable/binutils-gdb.git] / readline / doc / readline.0
... / ...
CommitLineData
1READLINE(3) READLINE(3)
2
3
4
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
9 #\b#i\bin\bnc\bcl\blu\bud\bde\be <\b<s\bst\btd\bdi\bio\bo.\b.h\bh>\b>
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>
12
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);
15
16C\bCO\bOP\bPY\bYR\bRI\bIG\bGH\bHT\bT
17 Readline is Copyright (C) 1989-2002 by the Free Software
18 Foundation, Inc.
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,
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.
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
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
38R\bRE\bET\bTU\bUR\bRN\bN V\bVA\bAL\bLU\bUE\bE
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
43 a newline.
44
45N\bNO\bOT\bTA\bAT\bTI\bIO\bON\bN
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-
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
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-
53 trol key while pressing the _\bx key.)
54
55 Readline commands may be given numeric _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt_\bs, which
56 normally act as a repeat count. Sometimes, however, it is
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-
61 ments deviates from this are noted.
62
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
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
71 Readline is customized by putting commands in an initial-
72 ization file (the _\bi_\bn_\bp_\bu_\bt_\br_\bc file). The name of this file is
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
77 are set. There are only a few basic constructs allowed in
78 the readline init file. Blank lines are ignored. Lines
79 beginning with a #\b# are comments. Lines beginning with a $\b$
80 indicate conditional constructs. Other lines denote key
81 bindings and variable settings. Each program using this
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
89
90 into the _\bi_\bn_\bp_\bu_\bt_\br_\bc would make M-C-u execute the readline
91 command _\bu_\bn_\bi_\bv_\be_\br_\bs_\ba_\bl_\b-_\ba_\br_\bg_\bu_\bm_\be_\bn_\bt.
92
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.
96
97 In addition to command names, readline allows keys to be
98 bound to a string that is inserted when the key is pressed
99 (a _\bm_\ba_\bc_\br_\bo).
100
101
102 K\bKe\bey\by B\bBi\bin\bnd\bdi\bin\bng\bgs\bs
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
105 command or the text of a macro and a key sequence to which
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:
113
114 Control-u: universal-argument
115 Meta-Rubout: backward-kill-word
116 Control-o: "> output"
117
118 In the above example, _\bC_\b-_\bu is bound to the function u\bun\bni\biv\bve\ber\br-\b-
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).
123
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-
125 s\bse\beq\bq differs from k\bke\bey\byn\bna\bam\bme\be above in that strings denoting an
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.
130
131 "\C-u": universal-argument
132 "\C-x\C-r": re-read-init-file
133 "\e[11~": "Function Key 1"
134
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
138 text ``Function Key 1''.
139
140 The full set of GNU Emacs style escape sequences available
141 when specifying key sequences is
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
146 \\b\"\b" literal ", a double quote
147 \\b\'\b' literal ', a single quote
148
149 In addition to the GNU Emacs style escape sequences, a
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
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)
163
164 When entering the text of a macro, single or double quotes
165 should be used to indicate a macro definition. Unquoted
166 text is assumed to be a function name. In the macro body,
167 the backslash escapes described above are expanded. Back-
168 slash will quote any other character in the macro text,
169 including " and '.
170
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.
179
180 V\bVa\bar\bri\bia\bab\bbl\ble\bes\bs
181 Readline has variables that can be used to further cus-
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
188 O\bOn\bn or O\bOf\bff\bf (without regard to case). The variables and
189 their default values are:
190
191 b\bbe\bel\bll\bl-\b-s\bst\bty\byl\ble\be (\b(a\bau\bud\bdi\bib\bbl\ble\be)\b)
192 Controls what happens when readline wants to ring
193 the terminal bell. If set to n\bno\bon\bne\be, readline never
194 rings the bell. If set to v\bvi\bis\bsi\bib\bbl\ble\be, readline uses a
195 visible bell if one is available. If set to a\bau\bud\bdi\bi-\b-
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)
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-
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)
203 If set to O\bOn\bn, readline performs filename matching
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)
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-
212 able, the user is asked whether or not he wishes to
213 view them; otherwise they are simply listed on the
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
217 the eighth bit set to an ASCII key sequence by
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).
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)
222 If set to O\bOn\bn, readline will inhibit word comple-
223 tion. Completion characters will be inserted into
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)
226 Controls whether readline begins with a set of key
227 bindings similar to emacs or vi. e\bed\bdi\bit\bti\bin\bng\bg-\b-m\bmo\bod\bde\be can
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)
230 When set to O\bOn\bn, readline will try to enable the
231 application keypad when it is called. Some systems
232 need this to enable the arrow keys.
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
235 readline attempts word completion.
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.
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)
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
244 screen width rather than wrapping to a new line.
245 i\bin\bnp\bpu\but\bt-\b-m\bme\bet\bta\ba (\b(O\bOf\bff\bf)\b)
246 If set to O\bOn\bn, readline will enable eight-bit input
247 (that is, it will not clear the eighth bit in the
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.
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)
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
256 will terminate an incremental search.
257 k\bke\bey\bym\bma\bap\bp (\b(e\bem\bma\bac\bcs\bs)\b)
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,
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
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
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)
266 If set to O\bOn\bn, completed directory names have a
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*).
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.
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
283 the eighth bit set directly rather than as a meta-
284 prefixed escape sequence.
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.
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)
290 If set to O\bOn\bn, readline will display completions
291 with matches sorted horizontally in alphabetical
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)
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.
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
300 reported by _\bs_\bt_\ba_\bt(2) is appended to the filename
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
304 Readline implements a facility similar in spirit to the
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
308 directives used.
309
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
314 are required to isolate it.
315
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
319 the s\bse\bet\bt k\bke\bey\bym\bma\bap\bp command, for instance, to set
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
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-
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
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-
337 _\bt_\bi_\bo_\bn _\bn_\ba_\bm_\be, and an initialization file can
338 test for a particular value. This could be
339 used to bind key sequences to functions use-
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
343 Bash:
344
345 $\b$i\bif\bf Bash
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
353 $\b$e\bel\bls\bse\be Commands in this branch of the $\b$i\bif\bf directive are
354 executed if the test fails.
355
356 $\b$i\bin\bnc\bcl\blu\bud\bde\be
357 This directive takes a single filename as an argu-
358 ment and reads commands and bindings from that
359 file. For example, the following directive would
360 read _\b/_\be_\bt_\bc_\b/_\bi_\bn_\bp_\bu_\bt_\br_\bc:
361
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
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-
368 _\bt_\ba_\bl.
369
370 Incremental searches begin before the user has finished
371 typing the search string. As each character of the search
372 string is typed, readline displays the next entry from the
373 history matching the string typed so far. An incremental
374 search requires only as many characters as needed to find
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
392 the search and accept the line, thereby executing the com-
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.
396
397 Non-incremental searches read the entire search string
398 before starting to search for matching history lines. The
399 search string may be typed by the user or be part of the
400 contents of the current line.
401
402E\bED\bDI\bIT\bTI\bIN\bNG\bG C\bCO\bOM\bMM\bMA\bAN\bND\bDS\bS
403 The following is a list of the names of the commands and
404 the default key sequences to which they are bound. Com-
405 mand names without an accompanying key sequence are
406 unbound by default.
407
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
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.
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).
426 b\bba\bac\bck\bkw\bwa\bar\brd\bd-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-b\bb)\b)
427 Move back to the start of the current or previous
428 word. Words are composed of alphanumeric charac-
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)
431 Clear the screen leaving the current line at the
432 top of the screen. With an argument, refresh the
433 current line without clearing the screen.
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)
439 Accept the line regardless of where the cursor is.
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.
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)
445 Fetch the previous command from the history list,
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)
448 Fetch the next command from the history list, mov-
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)
453 Move to the end of the input history, i.e., the
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)
456 Search backward starting at the current line and
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)
460 Search forward starting at the current line and
461 moving `down' through the history as necessary.
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
465 current line using a non-incremental search for a
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)
468 Search forward through the history using a non-
469 incremental search for a string supplied by the
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
472 Search forward through the history for the string
473 of characters between the start of the current line
474 and the current cursor position (the _\bp_\bo_\bi_\bn_\bt). This
475 is a non-incremental search.
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
477 Search backward through the history for the string
478 of characters between the start of the current line
479 and the point. This is a non-incremental search.
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)
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.
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)
489 Insert the last argument to the previous command
490 (the last word of the previous history entry).
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
493 the history list, inserting the last argument of
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)
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.
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
504 a numeric argument, save the deleted text on the
505 kill ring.
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
507 Delete the character under the cursor, unless the
508 cursor is at the end of the line, in which case the
509 character behind the cursor is deleted.
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)
511 Add the next character that you type to the line
512 verbatim. This is how to insert characters like
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)
519 Drag the character before point forward over the
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.
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)
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.
529 u\bup\bpc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-u\bu)\b)
530 Uppercase the current (or following) word. With a
531 negative argument, uppercase the previous word, but
532 do not move point.
533 d\bdo\bow\bwn\bnc\bca\bas\bse\be-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-l\bl)\b)
534 Lowercase the current (or following) word. With a
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
539 negative argument, capitalize the previous word,
540 but do not move point.
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.
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)
556 Kill the text from point to the end of the line.
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)
560 Kill backward from point to the beginning of the
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
563 Kill all characters on the current line, no matter
564 where point is.
565 k\bki\bil\bll\bl-\b-w\bwo\bor\brd\bd (\b(M\bM-\b-d\bd)\b)
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.
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)
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.
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)
574 Kill the word behind point, using white space as a
575 word boundary. The killed text is saved on the
576 kill-ring.
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
580 Kill the text between the point and _\bm_\ba_\br_\bk (saved
581 cursor position). This text is referred to as the
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
589 Copy the word following point to the kill buffer.
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)
592 Yank the top of the kill ring into the buffer at
593 point.
594 y\bya\ban\bnk\bk-\b-p\bpo\bop\bp (\b(M\bM-\b-y\by)\b)
595 Rotate the kill ring, and yank the new top. Only
596 works following y\bya\ban\bnk\bk or y\bya\ban\bnk\bk-\b-p\bpo\bop\bp.
597
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)
600 Add this digit to the argument already accumulat-
601 ing, or start a new argument. M-- starts a nega-
602 tive argument.
603 u\bun\bni\biv\bve\ber\brs\bsa\bal\bl-\b-a\bar\brg\bgu\bum\bme\ben\bnt\bt
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
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
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
612 minus sign, the argument count for the next command
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
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)
620 Attempt to perform completion on the text before
621 point. The actual completion performed is applica-
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.
627 If none of these produces a match, filename comple-
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
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)
633 List the possible completions of the text before
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)
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-
638 t\bti\bio\bon\bns\bs.
639 m\bme\ben\bnu\bu-\b-c\bco\bom\bmp\bpl\ble\bet\bte\be
640 Similar to c\bco\bom\bmp\bpl\ble\bet\bte\be, but replaces the word to be
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-
643 p\bpl\ble\bet\bte\be steps through the list of possible comple-
644 tions, inserting each match in turn. At the end of
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.
652 d\bde\bel\ble\bet\bte\be-\b-c\bch\bha\bar\br-\b-o\bor\br-\b-l\bli\bis\bst\bt
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-
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.
657
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)
660 Begin saving the characters typed into the current
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)
663 Stop saving the characters typed into the current
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-
667 ing the characters in the macro appear as if typed
668 at the keyboard.
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)
672 Read in the contents of the _\bi_\bn_\bp_\bu_\bt_\br_\bc file, and
673 incorporate any bindings or variable assignments
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)
680 If the metafied character _\bx is lowercase, run the
681 command that is bound to the corresponding upper-
682 case character.
683 p\bpr\bre\bef\bfi\bix\bx-\b-m\bme\bet\bta\ba (\b(E\bES\bSC\bC)\b)
684 Metafy the next character typed. E\bES\bSC\bC f\bf is equiva-
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)
687 Incremental undo, separately remembered for each
688 line.
689 r\bre\bev\bve\ber\brt\bt-\b-l\bli\bin\bne\be (\b(M\bM-\b-r\br)\b)
690 Undo all changes made to this line. This is like
691 executing the u\bun\bnd\bdo\bo command enough times to return
692 the line to its initial state.
693 t\bti\bil\bld\bde\be-\b-e\bex\bxp\bpa\ban\bnd\bd (\b(M\bM-\b-&\b&)\b)
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)
696 Set the mark to the point. If a numeric argument
697 is supplied, the mark is set to that position.
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)
699 Swap the point with the mark. The current cursor
700 position is set to the saved position, and the old
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
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)
707 A character is read and point is moved to the pre-
708 vious occurrence of that character. A negative
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)
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.
724 d\bdu\bum\bmp\bp-\b-f\bfu\bun\bnc\bct\bti\bio\bon\bns\bs
725 Print all of the functions and their key bindings
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.
730 d\bdu\bum\bmp\bp-\b-v\bva\bar\bri\bia\bab\bbl\ble\bes\bs
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
735 file.
736 d\bdu\bum\bmp\bp-\b-m\bma\bac\bcr\bro\bos\bs
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
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)
743 When in v\bvi\bi command mode, this causes a switch to
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
750 The following is a list of the default emacs and vi bind-
751 ings. Characters with the eighth bit set are written as
752 M-<character>, and are referred to as _\bm_\be_\bt_\ba_\bf_\bi_\be_\bd characters.
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).
765
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
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
818 "M-2" digit-argument
819 "M-3" digit-argument
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
840 "M-Y" yank-pop
841 "M-\" delete-horizontal-space
842 "M-~" tilde-expand
843 "M-C-?" backward-kill-word
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
872 "C-Y" yank
873 "C-[" vi-movement-mode
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
894 "C-U" unix-line-discard
895 "C-V" quoted-insert
896 "C-W" unix-word-rubout
897 "C-Y" yank
898 "C-_" vi-undo
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
927 "T" vi-char-search
928 "U" revert-line
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
949 "p" vi-put
950 "r" vi-change-char
951 "s" vi-subst
952 "t" vi-char-search
953 "u" vi-undo
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
970 Brian Fox, Free Software Foundation
971 bfox@gnu.org
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
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
980 library that you have.
981
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-
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
989 Comments and bug reports concerning this manual page
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
997GNU Readline 4.3 2002 January 22 READLINE(3)
This page took 0.042959 seconds and 4 git commands to generate.