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