Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/info/rluserman.info @ 68:5028fdace37b
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 16:23:26 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 68:5028fdace37b |
---|---|
1 This is rluserman.info, produced by makeinfo version 6.8 from | |
2 rluserman.texi. | |
3 | |
4 This manual describes the end user interface of the GNU Readline Library | |
5 (version 8.2, 19 September 2022), a library which aids in the | |
6 consistency of user interface across discrete programs which provide a | |
7 command line interface. | |
8 | |
9 Copyright (C) 1988-2022 Free Software Foundation, Inc. | |
10 | |
11 Permission is granted to copy, distribute and/or modify this | |
12 document under the terms of the GNU Free Documentation License, | |
13 Version 1.3 or any later version published by the Free Software | |
14 Foundation; with no Invariant Sections, no Front-Cover Texts, and | |
15 no Back-Cover Texts. A copy of the license is included in the | |
16 section entitled "GNU Free Documentation License". | |
17 | |
18 INFO-DIR-SECTION Libraries | |
19 START-INFO-DIR-ENTRY | |
20 * RLuserman: (rluserman). The GNU readline library User's Manual. | |
21 END-INFO-DIR-ENTRY | |
22 | |
23 | |
24 File: rluserman.info, Node: Top, Next: Command Line Editing, Up: (dir) | |
25 | |
26 GNU Readline Library | |
27 ******************** | |
28 | |
29 This document describes the end user interface of the GNU Readline | |
30 Library, a utility which aids in the consistency of user interface | |
31 across discrete programs which provide a command line interface. The | |
32 Readline home page is <http://www.gnu.org/software/readline/>. | |
33 | |
34 * Menu: | |
35 | |
36 * Command Line Editing:: GNU Readline User's Manual. | |
37 * GNU Free Documentation License:: License for copying this manual. | |
38 | |
39 | |
40 File: rluserman.info, Node: Command Line Editing, Next: GNU Free Documentation License, Prev: Top, Up: Top | |
41 | |
42 1 Command Line Editing | |
43 ********************** | |
44 | |
45 This chapter describes the basic features of the GNU command line | |
46 editing interface. | |
47 | |
48 * Menu: | |
49 | |
50 * Introduction and Notation:: Notation used in this text. | |
51 * Readline Interaction:: The minimum set of commands for editing a line. | |
52 * Readline Init File:: Customizing Readline from a user's view. | |
53 * Bindable Readline Commands:: A description of most of the Readline commands | |
54 available for binding | |
55 * Readline vi Mode:: A short description of how to make Readline | |
56 behave like the vi editor. | |
57 | |
58 | |
59 File: rluserman.info, Node: Introduction and Notation, Next: Readline Interaction, Up: Command Line Editing | |
60 | |
61 1.1 Introduction to Line Editing | |
62 ================================ | |
63 | |
64 The following paragraphs describe the notation used to represent | |
65 keystrokes. | |
66 | |
67 The text 'C-k' is read as 'Control-K' and describes the character | |
68 produced when the <k> key is pressed while the Control key is depressed. | |
69 | |
70 The text 'M-k' is read as 'Meta-K' and describes the character | |
71 produced when the Meta key (if you have one) is depressed, and the <k> | |
72 key is pressed. The Meta key is labeled <ALT> on many keyboards. On | |
73 keyboards with two keys labeled <ALT> (usually to either side of the | |
74 space bar), the <ALT> on the left side is generally set to work as a | |
75 Meta key. The <ALT> key on the right may also be configured to work as | |
76 a Meta key or may be configured as some other modifier, such as a | |
77 Compose key for typing accented characters. | |
78 | |
79 If you do not have a Meta or <ALT> key, or another key working as a | |
80 Meta key, the identical keystroke can be generated by typing <ESC> | |
81 _first_, and then typing <k>. Either process is known as "metafying" | |
82 the <k> key. | |
83 | |
84 The text 'M-C-k' is read as 'Meta-Control-k' and describes the | |
85 character produced by "metafying" 'C-k'. | |
86 | |
87 In addition, several keys have their own names. Specifically, <DEL>, | |
88 <ESC>, <LFD>, <SPC>, <RET>, and <TAB> all stand for themselves when seen | |
89 in this text, or in an init file (*note Readline Init File::). If your | |
90 keyboard lacks a <LFD> key, typing <C-j> will produce the desired | |
91 character. The <RET> key may be labeled <Return> or <Enter> on some | |
92 keyboards. | |
93 | |
94 | |
95 File: rluserman.info, Node: Readline Interaction, Next: Readline Init File, Prev: Introduction and Notation, Up: Command Line Editing | |
96 | |
97 1.2 Readline Interaction | |
98 ======================== | |
99 | |
100 Often during an interactive session you type in a long line of text, | |
101 only to notice that the first word on the line is misspelled. The | |
102 Readline library gives you a set of commands for manipulating the text | |
103 as you type it in, allowing you to just fix your typo, and not forcing | |
104 you to retype the majority of the line. Using these editing commands, | |
105 you move the cursor to the place that needs correction, and delete or | |
106 insert the text of the corrections. Then, when you are satisfied with | |
107 the line, you simply press <RET>. You do not have to be at the end of | |
108 the line to press <RET>; the entire line is accepted regardless of the | |
109 location of the cursor within the line. | |
110 | |
111 * Menu: | |
112 | |
113 * Readline Bare Essentials:: The least you need to know about Readline. | |
114 * Readline Movement Commands:: Moving about the input line. | |
115 * Readline Killing Commands:: How to delete text, and how to get it back! | |
116 * Readline Arguments:: Giving numeric arguments to commands. | |
117 * Searching:: Searching through previous lines. | |
118 | |
119 | |
120 File: rluserman.info, Node: Readline Bare Essentials, Next: Readline Movement Commands, Up: Readline Interaction | |
121 | |
122 1.2.1 Readline Bare Essentials | |
123 ------------------------------ | |
124 | |
125 In order to enter characters into the line, simply type them. The typed | |
126 character appears where the cursor was, and then the cursor moves one | |
127 space to the right. If you mistype a character, you can use your erase | |
128 character to back up and delete the mistyped character. | |
129 | |
130 Sometimes you may mistype a character, and not notice the error until | |
131 you have typed several other characters. In that case, you can type | |
132 'C-b' to move the cursor to the left, and then correct your mistake. | |
133 Afterwards, you can move the cursor to the right with 'C-f'. | |
134 | |
135 When you add text in the middle of a line, you will notice that | |
136 characters to the right of the cursor are 'pushed over' to make room for | |
137 the text that you have inserted. Likewise, when you delete text behind | |
138 the cursor, characters to the right of the cursor are 'pulled back' to | |
139 fill in the blank space created by the removal of the text. A list of | |
140 the bare essentials for editing the text of an input line follows. | |
141 | |
142 'C-b' | |
143 Move back one character. | |
144 'C-f' | |
145 Move forward one character. | |
146 <DEL> or <Backspace> | |
147 Delete the character to the left of the cursor. | |
148 'C-d' | |
149 Delete the character underneath the cursor. | |
150 Printing characters | |
151 Insert the character into the line at the cursor. | |
152 'C-_' or 'C-x C-u' | |
153 Undo the last editing command. You can undo all the way back to an | |
154 empty line. | |
155 | |
156 (Depending on your configuration, the <Backspace> key might be set to | |
157 delete the character to the left of the cursor and the <DEL> key set to | |
158 delete the character underneath the cursor, like 'C-d', rather than the | |
159 character to the left of the cursor.) | |
160 | |
161 | |
162 File: rluserman.info, Node: Readline Movement Commands, Next: Readline Killing Commands, Prev: Readline Bare Essentials, Up: Readline Interaction | |
163 | |
164 1.2.2 Readline Movement Commands | |
165 -------------------------------- | |
166 | |
167 The above table describes the most basic keystrokes that you need in | |
168 order to do editing of the input line. For your convenience, many other | |
169 commands have been added in addition to 'C-b', 'C-f', 'C-d', and <DEL>. | |
170 Here are some commands for moving more rapidly about the line. | |
171 | |
172 'C-a' | |
173 Move to the start of the line. | |
174 'C-e' | |
175 Move to the end of the line. | |
176 'M-f' | |
177 Move forward a word, where a word is composed of letters and | |
178 digits. | |
179 'M-b' | |
180 Move backward a word. | |
181 'C-l' | |
182 Clear the screen, reprinting the current line at the top. | |
183 | |
184 Notice how 'C-f' moves forward a character, while 'M-f' moves forward | |
185 a word. It is a loose convention that control keystrokes operate on | |
186 characters while meta keystrokes operate on words. | |
187 | |
188 | |
189 File: rluserman.info, Node: Readline Killing Commands, Next: Readline Arguments, Prev: Readline Movement Commands, Up: Readline Interaction | |
190 | |
191 1.2.3 Readline Killing Commands | |
192 ------------------------------- | |
193 | |
194 "Killing" text means to delete the text from the line, but to save it | |
195 away for later use, usually by "yanking" (re-inserting) it back into the | |
196 line. ('Cut' and 'paste' are more recent jargon for 'kill' and 'yank'.) | |
197 | |
198 If the description for a command says that it 'kills' text, then you | |
199 can be sure that you can get the text back in a different (or the same) | |
200 place later. | |
201 | |
202 When you use a kill command, the text is saved in a "kill-ring". Any | |
203 number of consecutive kills save all of the killed text together, so | |
204 that when you yank it back, you get it all. The kill ring is not line | |
205 specific; the text that you killed on a previously typed line is | |
206 available to be yanked back later, when you are typing another line. | |
207 | |
208 Here is the list of commands for killing text. | |
209 | |
210 'C-k' | |
211 Kill the text from the current cursor position to the end of the | |
212 line. | |
213 | |
214 'M-d' | |
215 Kill from the cursor to the end of the current word, or, if between | |
216 words, to the end of the next word. Word boundaries are the same | |
217 as those used by 'M-f'. | |
218 | |
219 'M-<DEL>' | |
220 Kill from the cursor to the start of the current word, or, if | |
221 between words, to the start of the previous word. Word boundaries | |
222 are the same as those used by 'M-b'. | |
223 | |
224 'C-w' | |
225 Kill from the cursor to the previous whitespace. This is different | |
226 than 'M-<DEL>' because the word boundaries differ. | |
227 | |
228 Here is how to "yank" the text back into the line. Yanking means to | |
229 copy the most-recently-killed text from the kill buffer. | |
230 | |
231 'C-y' | |
232 Yank the most recently killed text back into the buffer at the | |
233 cursor. | |
234 | |
235 'M-y' | |
236 Rotate the kill-ring, and yank the new top. You can only do this | |
237 if the prior command is 'C-y' or 'M-y'. | |
238 | |
239 | |
240 File: rluserman.info, Node: Readline Arguments, Next: Searching, Prev: Readline Killing Commands, Up: Readline Interaction | |
241 | |
242 1.2.4 Readline Arguments | |
243 ------------------------ | |
244 | |
245 You can pass numeric arguments to Readline commands. Sometimes the | |
246 argument acts as a repeat count, other times it is the sign of the | |
247 argument that is significant. If you pass a negative argument to a | |
248 command which normally acts in a forward direction, that command will | |
249 act in a backward direction. For example, to kill text back to the | |
250 start of the line, you might type 'M-- C-k'. | |
251 | |
252 The general way to pass numeric arguments to a command is to type | |
253 meta digits before the command. If the first 'digit' typed is a minus | |
254 sign ('-'), then the sign of the argument will be negative. Once you | |
255 have typed one meta digit to get the argument started, you can type the | |
256 remainder of the digits, and then the command. For example, to give the | |
257 'C-d' command an argument of 10, you could type 'M-1 0 C-d', which will | |
258 delete the next ten characters on the input line. | |
259 | |
260 | |
261 File: rluserman.info, Node: Searching, Prev: Readline Arguments, Up: Readline Interaction | |
262 | |
263 1.2.5 Searching for Commands in the History | |
264 ------------------------------------------- | |
265 | |
266 Readline provides commands for searching through the command history for | |
267 lines containing a specified string. There are two search modes: | |
268 "incremental" and "non-incremental". | |
269 | |
270 Incremental searches begin before the user has finished typing the | |
271 search string. As each character of the search string is typed, | |
272 Readline displays the next entry from the history matching the string | |
273 typed so far. An incremental search requires only as many characters as | |
274 needed to find the desired history entry. To search backward in the | |
275 history for a particular string, type 'C-r'. Typing 'C-s' searches | |
276 forward through the history. The characters present in the value of the | |
277 'isearch-terminators' variable are used to terminate an incremental | |
278 search. If that variable has not been assigned a value, the <ESC> and | |
279 'C-J' characters will terminate an incremental search. 'C-g' will abort | |
280 an incremental search and restore the original line. When the search is | |
281 terminated, the history entry containing the search string becomes the | |
282 current line. | |
283 | |
284 To find other matching entries in the history list, type 'C-r' or | |
285 'C-s' as appropriate. This will search backward or forward in the | |
286 history for the next entry matching the search string typed so far. Any | |
287 other key sequence bound to a Readline command will terminate the search | |
288 and execute that command. For instance, a <RET> will terminate the | |
289 search and accept the line, thereby executing the command from the | |
290 history list. A movement command will terminate the search, make the | |
291 last line found the current line, and begin editing. | |
292 | |
293 Readline remembers the last incremental search string. If two 'C-r's | |
294 are typed without any intervening characters defining a new search | |
295 string, any remembered search string is used. | |
296 | |
297 Non-incremental searches read the entire search string before | |
298 starting to search for matching history lines. The search string may be | |
299 typed by the user or be part of the contents of the current line. | |
300 | |
301 | |
302 File: rluserman.info, Node: Readline Init File, Next: Bindable Readline Commands, Prev: Readline Interaction, Up: Command Line Editing | |
303 | |
304 1.3 Readline Init File | |
305 ====================== | |
306 | |
307 Although the Readline library comes with a set of Emacs-like keybindings | |
308 installed by default, it is possible to use a different set of | |
309 keybindings. Any user can customize programs that use Readline by | |
310 putting commands in an "inputrc" file, conventionally in their home | |
311 directory. The name of this file is taken from the value of the | |
312 environment variable 'INPUTRC'. If that variable is unset, the default | |
313 is '~/.inputrc'. If that file does not exist or cannot be read, the | |
314 ultimate default is '/etc/inputrc'. | |
315 | |
316 When a program which uses the Readline library starts up, the init | |
317 file is read, and the key bindings are set. | |
318 | |
319 In addition, the 'C-x C-r' command re-reads this init file, thus | |
320 incorporating any changes that you might have made to it. | |
321 | |
322 * Menu: | |
323 | |
324 * Readline Init File Syntax:: Syntax for the commands in the inputrc file. | |
325 | |
326 * Conditional Init Constructs:: Conditional key bindings in the inputrc file. | |
327 | |
328 * Sample Init File:: An example inputrc file. | |
329 | |
330 | |
331 File: rluserman.info, Node: Readline Init File Syntax, Next: Conditional Init Constructs, Up: Readline Init File | |
332 | |
333 1.3.1 Readline Init File Syntax | |
334 ------------------------------- | |
335 | |
336 There are only a few basic constructs allowed in the Readline init file. | |
337 Blank lines are ignored. Lines beginning with a '#' are comments. | |
338 Lines beginning with a '$' indicate conditional constructs (*note | |
339 Conditional Init Constructs::). Other lines denote variable settings | |
340 and key bindings. | |
341 | |
342 Variable Settings | |
343 You can modify the run-time behavior of Readline by altering the | |
344 values of variables in Readline using the 'set' command within the | |
345 init file. The syntax is simple: | |
346 | |
347 set VARIABLE VALUE | |
348 | |
349 Here, for example, is how to change from the default Emacs-like key | |
350 binding to use 'vi' line editing commands: | |
351 | |
352 set editing-mode vi | |
353 | |
354 Variable names and values, where appropriate, are recognized | |
355 without regard to case. Unrecognized variable names are ignored. | |
356 | |
357 Boolean variables (those that can be set to on or off) are set to | |
358 on if the value is null or empty, ON (case-insensitive), or 1. Any | |
359 other value results in the variable being set to off. | |
360 | |
361 A great deal of run-time behavior is changeable with the following | |
362 variables. | |
363 | |
364 'active-region-start-color' | |
365 A string variable that controls the text color and background | |
366 when displaying the text in the active region (see the | |
367 description of 'enable-active-region' below). This string | |
368 must not take up any physical character positions on the | |
369 display, so it should consist only of terminal escape | |
370 sequences. It is output to the terminal before displaying the | |
371 text in the active region. This variable is reset to the | |
372 default value whenever the terminal type changes. The default | |
373 value is the string that puts the terminal in standout mode, | |
374 as obtained from the terminal's terminfo description. A | |
375 sample value might be '\e[01;33m'. | |
376 | |
377 'active-region-end-color' | |
378 A string variable that "undoes" the effects of | |
379 'active-region-start-color' and restores "normal" terminal | |
380 display appearance after displaying text in the active region. | |
381 This string must not take up any physical character positions | |
382 on the display, so it should consist only of terminal escape | |
383 sequences. It is output to the terminal after displaying the | |
384 text in the active region. This variable is reset to the | |
385 default value whenever the terminal type changes. The default | |
386 value is the string that restores the terminal from standout | |
387 mode, as obtained from the terminal's terminfo description. A | |
388 sample value might be '\e[0m'. | |
389 | |
390 'bell-style' | |
391 Controls what happens when Readline wants to ring the terminal | |
392 bell. If set to 'none', Readline never rings the bell. If | |
393 set to 'visible', Readline uses a visible bell if one is | |
394 available. If set to 'audible' (the default), Readline | |
395 attempts to ring the terminal's bell. | |
396 | |
397 'bind-tty-special-chars' | |
398 If set to 'on' (the default), Readline attempts to bind the | |
399 control characters treated specially by the kernel's terminal | |
400 driver to their Readline equivalents. | |
401 | |
402 'blink-matching-paren' | |
403 If set to 'on', Readline attempts to briefly move the cursor | |
404 to an opening parenthesis when a closing parenthesis is | |
405 inserted. The default is 'off'. | |
406 | |
407 'colored-completion-prefix' | |
408 If set to 'on', when listing completions, Readline displays | |
409 the common prefix of the set of possible completions using a | |
410 different color. The color definitions are taken from the | |
411 value of the 'LS_COLORS' environment variable. If there is a | |
412 color definition in 'LS_COLORS' for the custom suffix | |
413 'readline-colored-completion-prefix', Readline uses this color | |
414 for the common prefix instead of its default. The default is | |
415 'off'. | |
416 | |
417 'colored-stats' | |
418 If set to 'on', Readline displays possible completions using | |
419 different colors to indicate their file type. The color | |
420 definitions are taken from the value of the 'LS_COLORS' | |
421 environment variable. The default is 'off'. | |
422 | |
423 'comment-begin' | |
424 The string to insert at the beginning of the line when the | |
425 'insert-comment' command is executed. The default value is | |
426 '"#"'. | |
427 | |
428 'completion-display-width' | |
429 The number of screen columns used to display possible matches | |
430 when performing completion. The value is ignored if it is | |
431 less than 0 or greater than the terminal screen width. A | |
432 value of 0 will cause matches to be displayed one per line. | |
433 The default value is -1. | |
434 | |
435 'completion-ignore-case' | |
436 If set to 'on', Readline performs filename matching and | |
437 completion in a case-insensitive fashion. The default value | |
438 is 'off'. | |
439 | |
440 'completion-map-case' | |
441 If set to 'on', and COMPLETION-IGNORE-CASE is enabled, | |
442 Readline treats hyphens ('-') and underscores ('_') as | |
443 equivalent when performing case-insensitive filename matching | |
444 and completion. The default value is 'off'. | |
445 | |
446 'completion-prefix-display-length' | |
447 The length in characters of the common prefix of a list of | |
448 possible completions that is displayed without modification. | |
449 When set to a value greater than zero, common prefixes longer | |
450 than this value are replaced with an ellipsis when displaying | |
451 possible completions. | |
452 | |
453 'completion-query-items' | |
454 The number of possible completions that determines when the | |
455 user is asked whether the list of possibilities should be | |
456 displayed. If the number of possible completions is greater | |
457 than or equal to this value, Readline will ask whether or not | |
458 the user wishes to view them; otherwise, they are simply | |
459 listed. This variable must be set to an integer value greater | |
460 than or equal to zero. A zero value means Readline should | |
461 never ask; negative values are treated as zero. The default | |
462 limit is '100'. | |
463 | |
464 'convert-meta' | |
465 If set to 'on', Readline will convert characters with the | |
466 eighth bit set to an ASCII key sequence by stripping the | |
467 eighth bit and prefixing an <ESC> character, converting them | |
468 to a meta-prefixed key sequence. The default value is 'on', | |
469 but will be set to 'off' if the locale is one that contains | |
470 eight-bit characters. This variable is dependent on the | |
471 'LC_CTYPE' locale category, and may change if the locale is | |
472 changed. | |
473 | |
474 'disable-completion' | |
475 If set to 'On', Readline will inhibit word completion. | |
476 Completion characters will be inserted into the line as if | |
477 they had been mapped to 'self-insert'. The default is 'off'. | |
478 | |
479 'echo-control-characters' | |
480 When set to 'on', on operating systems that indicate they | |
481 support it, Readline echoes a character corresponding to a | |
482 signal generated from the keyboard. The default is 'on'. | |
483 | |
484 'editing-mode' | |
485 The 'editing-mode' variable controls which default set of key | |
486 bindings is used. By default, Readline starts up in Emacs | |
487 editing mode, where the keystrokes are most similar to Emacs. | |
488 This variable can be set to either 'emacs' or 'vi'. | |
489 | |
490 'emacs-mode-string' | |
491 If the SHOW-MODE-IN-PROMPT variable is enabled, this string is | |
492 displayed immediately before the last line of the primary | |
493 prompt when emacs editing mode is active. The value is | |
494 expanded like a key binding, so the standard set of meta- and | |
495 control prefixes and backslash escape sequences is available. | |
496 Use the '\1' and '\2' escapes to begin and end sequences of | |
497 non-printing characters, which can be used to embed a terminal | |
498 control sequence into the mode string. The default is '@'. | |
499 | |
500 'enable-active-region' | |
501 The "point" is the current cursor position, and "mark" refers | |
502 to a saved cursor position (*note Commands For Moving::). The | |
503 text between the point and mark is referred to as the | |
504 "region". When this variable is set to 'On', Readline allows | |
505 certain commands to designate the region as "active". When | |
506 the region is active, Readline highlights the text in the | |
507 region using the value of the 'active-region-start-color', | |
508 which defaults to the string that enables the terminal's | |
509 standout mode. The active region shows the text inserted by | |
510 bracketed-paste and any matching text found by incremental and | |
511 non-incremental history searches. The default is 'On'. | |
512 | |
513 'enable-bracketed-paste' | |
514 When set to 'On', Readline configures the terminal to insert | |
515 each paste into the editing buffer as a single string of | |
516 characters, instead of treating each character as if it had | |
517 been read from the keyboard. This is called putting the | |
518 terminal into "bracketed paste mode"; it prevents Readline | |
519 from executing any editing commands bound to key sequences | |
520 appearing in the pasted text. The default is 'On'. | |
521 | |
522 'enable-keypad' | |
523 When set to 'on', Readline will try to enable the application | |
524 keypad when it is called. Some systems need this to enable | |
525 the arrow keys. The default is 'off'. | |
526 | |
527 'enable-meta-key' | |
528 When set to 'on', Readline will try to enable any meta | |
529 modifier key the terminal claims to support when it is called. | |
530 On many terminals, the meta key is used to send eight-bit | |
531 characters. The default is 'on'. | |
532 | |
533 'expand-tilde' | |
534 If set to 'on', tilde expansion is performed when Readline | |
535 attempts word completion. The default is 'off'. | |
536 | |
537 'history-preserve-point' | |
538 If set to 'on', the history code attempts to place the point | |
539 (the current cursor position) at the same location on each | |
540 history line retrieved with 'previous-history' or | |
541 'next-history'. The default is 'off'. | |
542 | |
543 'history-size' | |
544 Set the maximum number of history entries saved in the history | |
545 list. If set to zero, any existing history entries are | |
546 deleted and no new entries are saved. If set to a value less | |
547 than zero, the number of history entries is not limited. By | |
548 default, the number of history entries is not limited. If an | |
549 attempt is made to set HISTORY-SIZE to a non-numeric value, | |
550 the maximum number of history entries will be set to 500. | |
551 | |
552 'horizontal-scroll-mode' | |
553 This variable can be set to either 'on' or 'off'. Setting it | |
554 to 'on' means that the text of the lines being edited will | |
555 scroll horizontally on a single screen line when they are | |
556 longer than the width of the screen, instead of wrapping onto | |
557 a new screen line. This variable is automatically set to 'on' | |
558 for terminals of height 1. By default, this variable is set | |
559 to 'off'. | |
560 | |
561 'input-meta' | |
562 If set to 'on', Readline will enable eight-bit input (it will | |
563 not clear the eighth bit in the characters it reads), | |
564 regardless of what the terminal claims it can support. The | |
565 default value is 'off', but Readline will set it to 'on' if | |
566 the locale contains eight-bit characters. The name | |
567 'meta-flag' is a synonym for this variable. This variable is | |
568 dependent on the 'LC_CTYPE' locale category, and may change if | |
569 the locale is changed. | |
570 | |
571 'isearch-terminators' | |
572 The string of characters that should terminate an incremental | |
573 search without subsequently executing the character as a | |
574 command (*note Searching::). If this variable has not been | |
575 given a value, the characters <ESC> and 'C-J' will terminate | |
576 an incremental search. | |
577 | |
578 'keymap' | |
579 Sets Readline's idea of the current keymap for key binding | |
580 commands. Built-in 'keymap' names are 'emacs', | |
581 'emacs-standard', 'emacs-meta', 'emacs-ctlx', 'vi', 'vi-move', | |
582 'vi-command', and 'vi-insert'. 'vi' is equivalent to | |
583 'vi-command' ('vi-move' is also a synonym); 'emacs' is | |
584 equivalent to 'emacs-standard'. Applications may add | |
585 additional names. The default value is 'emacs'. The value of | |
586 the 'editing-mode' variable also affects the default keymap. | |
587 | |
588 'keyseq-timeout' | |
589 Specifies the duration Readline will wait for a character when | |
590 reading an ambiguous key sequence (one that can form a | |
591 complete key sequence using the input read so far, or can take | |
592 additional input to complete a longer key sequence). If no | |
593 input is received within the timeout, Readline will use the | |
594 shorter but complete key sequence. Readline uses this value | |
595 to determine whether or not input is available on the current | |
596 input source ('rl_instream' by default). The value is | |
597 specified in milliseconds, so a value of 1000 means that | |
598 Readline will wait one second for additional input. If this | |
599 variable is set to a value less than or equal to zero, or to a | |
600 non-numeric value, Readline will wait until another key is | |
601 pressed to decide which key sequence to complete. The default | |
602 value is '500'. | |
603 | |
604 'mark-directories' | |
605 If set to 'on', completed directory names have a slash | |
606 appended. The default is 'on'. | |
607 | |
608 'mark-modified-lines' | |
609 This variable, when set to 'on', causes Readline to display an | |
610 asterisk ('*') at the start of history lines which have been | |
611 modified. This variable is 'off' by default. | |
612 | |
613 'mark-symlinked-directories' | |
614 If set to 'on', completed names which are symbolic links to | |
615 directories have a slash appended (subject to the value of | |
616 'mark-directories'). The default is 'off'. | |
617 | |
618 'match-hidden-files' | |
619 This variable, when set to 'on', causes Readline to match | |
620 files whose names begin with a '.' (hidden files) when | |
621 performing filename completion. If set to 'off', the leading | |
622 '.' must be supplied by the user in the filename to be | |
623 completed. This variable is 'on' by default. | |
624 | |
625 'menu-complete-display-prefix' | |
626 If set to 'on', menu completion displays the common prefix of | |
627 the list of possible completions (which may be empty) before | |
628 cycling through the list. The default is 'off'. | |
629 | |
630 'output-meta' | |
631 If set to 'on', Readline will display characters with the | |
632 eighth bit set directly rather than as a meta-prefixed escape | |
633 sequence. The default is 'off', but Readline will set it to | |
634 'on' if the locale contains eight-bit characters. This | |
635 variable is dependent on the 'LC_CTYPE' locale category, and | |
636 may change if the locale is changed. | |
637 | |
638 'page-completions' | |
639 If set to 'on', Readline uses an internal 'more'-like pager to | |
640 display a screenful of possible completions at a time. This | |
641 variable is 'on' by default. | |
642 | |
643 'print-completions-horizontally' | |
644 If set to 'on', Readline will display completions with matches | |
645 sorted horizontally in alphabetical order, rather than down | |
646 the screen. The default is 'off'. | |
647 | |
648 'revert-all-at-newline' | |
649 If set to 'on', Readline will undo all changes to history | |
650 lines before returning when 'accept-line' is executed. By | |
651 default, history lines may be modified and retain individual | |
652 undo lists across calls to 'readline()'. The default is | |
653 'off'. | |
654 | |
655 'show-all-if-ambiguous' | |
656 This alters the default behavior of the completion functions. | |
657 If set to 'on', words which have more than one possible | |
658 completion cause the matches to be listed immediately instead | |
659 of ringing the bell. The default value is 'off'. | |
660 | |
661 'show-all-if-unmodified' | |
662 This alters the default behavior of the completion functions | |
663 in a fashion similar to SHOW-ALL-IF-AMBIGUOUS. If set to | |
664 'on', words which have more than one possible completion | |
665 without any possible partial completion (the possible | |
666 completions don't share a common prefix) cause the matches to | |
667 be listed immediately instead of ringing the bell. The | |
668 default value is 'off'. | |
669 | |
670 'show-mode-in-prompt' | |
671 If set to 'on', add a string to the beginning of the prompt | |
672 indicating the editing mode: emacs, vi command, or vi | |
673 insertion. The mode strings are user-settable (e.g., | |
674 EMACS-MODE-STRING). The default value is 'off'. | |
675 | |
676 'skip-completed-text' | |
677 If set to 'on', this alters the default completion behavior | |
678 when inserting a single match into the line. It's only active | |
679 when performing completion in the middle of a word. If | |
680 enabled, Readline does not insert characters from the | |
681 completion that match characters after point in the word being | |
682 completed, so portions of the word following the cursor are | |
683 not duplicated. For instance, if this is enabled, attempting | |
684 completion when the cursor is after the 'e' in 'Makefile' will | |
685 result in 'Makefile' rather than 'Makefilefile', assuming | |
686 there is a single possible completion. The default value is | |
687 'off'. | |
688 | |
689 'vi-cmd-mode-string' | |
690 If the SHOW-MODE-IN-PROMPT variable is enabled, this string is | |
691 displayed immediately before the last line of the primary | |
692 prompt when vi editing mode is active and in command mode. | |
693 The value is expanded like a key binding, so the standard set | |
694 of meta- and control prefixes and backslash escape sequences | |
695 is available. Use the '\1' and '\2' escapes to begin and end | |
696 sequences of non-printing characters, which can be used to | |
697 embed a terminal control sequence into the mode string. The | |
698 default is '(cmd)'. | |
699 | |
700 'vi-ins-mode-string' | |
701 If the SHOW-MODE-IN-PROMPT variable is enabled, this string is | |
702 displayed immediately before the last line of the primary | |
703 prompt when vi editing mode is active and in insertion mode. | |
704 The value is expanded like a key binding, so the standard set | |
705 of meta- and control prefixes and backslash escape sequences | |
706 is available. Use the '\1' and '\2' escapes to begin and end | |
707 sequences of non-printing characters, which can be used to | |
708 embed a terminal control sequence into the mode string. The | |
709 default is '(ins)'. | |
710 | |
711 'visible-stats' | |
712 If set to 'on', a character denoting a file's type is appended | |
713 to the filename when listing possible completions. The | |
714 default is 'off'. | |
715 | |
716 Key Bindings | |
717 The syntax for controlling key bindings in the init file is simple. | |
718 First you need to find the name of the command that you want to | |
719 change. The following sections contain tables of the command name, | |
720 the default keybinding, if any, and a short description of what the | |
721 command does. | |
722 | |
723 Once you know the name of the command, simply place on a line in | |
724 the init file the name of the key you wish to bind the command to, | |
725 a colon, and then the name of the command. There can be no space | |
726 between the key name and the colon - that will be interpreted as | |
727 part of the key name. The name of the key can be expressed in | |
728 different ways, depending on what you find most comfortable. | |
729 | |
730 In addition to command names, Readline allows keys to be bound to a | |
731 string that is inserted when the key is pressed (a MACRO). | |
732 | |
733 KEYNAME: FUNCTION-NAME or MACRO | |
734 KEYNAME is the name of a key spelled out in English. For | |
735 example: | |
736 Control-u: universal-argument | |
737 Meta-Rubout: backward-kill-word | |
738 Control-o: "> output" | |
739 | |
740 In the example above, 'C-u' is bound to the function | |
741 'universal-argument', 'M-DEL' is bound to the function | |
742 'backward-kill-word', and 'C-o' is bound to run the macro | |
743 expressed on the right hand side (that is, to insert the text | |
744 '> output' into the line). | |
745 | |
746 A number of symbolic character names are recognized while | |
747 processing this key binding syntax: DEL, ESC, ESCAPE, LFD, | |
748 NEWLINE, RET, RETURN, RUBOUT, SPACE, SPC, and TAB. | |
749 | |
750 "KEYSEQ": FUNCTION-NAME or MACRO | |
751 KEYSEQ differs from KEYNAME above in that strings denoting an | |
752 entire key sequence can be specified, by placing the key | |
753 sequence in double quotes. Some GNU Emacs style key escapes | |
754 can be used, as in the following example, but the special | |
755 character names are not recognized. | |
756 | |
757 "\C-u": universal-argument | |
758 "\C-x\C-r": re-read-init-file | |
759 "\e[11~": "Function Key 1" | |
760 | |
761 In the above example, 'C-u' is again bound to the function | |
762 'universal-argument' (just as it was in the first example), | |
763 ''C-x' 'C-r'' is bound to the function 're-read-init-file', | |
764 and '<ESC> <[> <1> <1> <~>' is bound to insert the text | |
765 'Function Key 1'. | |
766 | |
767 The following GNU Emacs style escape sequences are available when | |
768 specifying key sequences: | |
769 | |
770 '\C-' | |
771 control prefix | |
772 '\M-' | |
773 meta prefix | |
774 '\e' | |
775 an escape character | |
776 '\\' | |
777 backslash | |
778 '\"' | |
779 <">, a double quotation mark | |
780 '\'' | |
781 <'>, a single quote or apostrophe | |
782 | |
783 In addition to the GNU Emacs style escape sequences, a second set | |
784 of backslash escapes is available: | |
785 | |
786 '\a' | |
787 alert (bell) | |
788 '\b' | |
789 backspace | |
790 '\d' | |
791 delete | |
792 '\f' | |
793 form feed | |
794 '\n' | |
795 newline | |
796 '\r' | |
797 carriage return | |
798 '\t' | |
799 horizontal tab | |
800 '\v' | |
801 vertical tab | |
802 '\NNN' | |
803 the eight-bit character whose value is the octal value NNN | |
804 (one to three digits) | |
805 '\xHH' | |
806 the eight-bit character whose value is the hexadecimal value | |
807 HH (one or two hex digits) | |
808 | |
809 When entering the text of a macro, single or double quotes must be | |
810 used to indicate a macro definition. Unquoted text is assumed to | |
811 be a function name. In the macro body, the backslash escapes | |
812 described above are expanded. Backslash will quote any other | |
813 character in the macro text, including '"' and '''. For example, | |
814 the following binding will make ''C-x' \' insert a single '\' into | |
815 the line: | |
816 "\C-x\\": "\\" | |
817 | |
818 | |
819 File: rluserman.info, Node: Conditional Init Constructs, Next: Sample Init File, Prev: Readline Init File Syntax, Up: Readline Init File | |
820 | |
821 1.3.2 Conditional Init Constructs | |
822 --------------------------------- | |
823 | |
824 Readline implements a facility similar in spirit to the conditional | |
825 compilation features of the C preprocessor which allows key bindings and | |
826 variable settings to be performed as the result of tests. There are | |
827 four parser directives used. | |
828 | |
829 '$if' | |
830 The '$if' construct allows bindings to be made based on the editing | |
831 mode, the terminal being used, or the application using Readline. | |
832 The text of the test, after any comparison operator, extends to the | |
833 end of the line; unless otherwise noted, no characters are required | |
834 to isolate it. | |
835 | |
836 'mode' | |
837 The 'mode=' form of the '$if' directive is used to test | |
838 whether Readline is in 'emacs' or 'vi' mode. This may be used | |
839 in conjunction with the 'set keymap' command, for instance, to | |
840 set bindings in the 'emacs-standard' and 'emacs-ctlx' keymaps | |
841 only if Readline is starting out in 'emacs' mode. | |
842 | |
843 'term' | |
844 The 'term=' form may be used to include terminal-specific key | |
845 bindings, perhaps to bind the key sequences output by the | |
846 terminal's function keys. The word on the right side of the | |
847 '=' is tested against both the full name of the terminal and | |
848 the portion of the terminal name before the first '-'. This | |
849 allows 'sun' to match both 'sun' and 'sun-cmd', for instance. | |
850 | |
851 'version' | |
852 The 'version' test may be used to perform comparisons against | |
853 specific Readline versions. The 'version' expands to the | |
854 current Readline version. The set of comparison operators | |
855 includes '=' (and '=='), '!=', '<=', '>=', '<', and '>'. The | |
856 version number supplied on the right side of the operator | |
857 consists of a major version number, an optional decimal point, | |
858 and an optional minor version (e.g., '7.1'). If the minor | |
859 version is omitted, it is assumed to be '0'. The operator may | |
860 be separated from the string 'version' and from the version | |
861 number argument by whitespace. The following example sets a | |
862 variable if the Readline version being used is 7.0 or newer: | |
863 $if version >= 7.0 | |
864 set show-mode-in-prompt on | |
865 $endif | |
866 | |
867 'application' | |
868 The APPLICATION construct is used to include | |
869 application-specific settings. Each program using the | |
870 Readline library sets the APPLICATION NAME, and you can test | |
871 for a particular value. This could be used to bind key | |
872 sequences to functions useful for a specific program. For | |
873 instance, the following command adds a key sequence that | |
874 quotes the current or previous word in Bash: | |
875 $if Bash | |
876 # Quote the current or previous word | |
877 "\C-xq": "\eb\"\ef\"" | |
878 $endif | |
879 | |
880 'variable' | |
881 The VARIABLE construct provides simple equality tests for | |
882 Readline variables and values. The permitted comparison | |
883 operators are '=', '==', and '!='. The variable name must be | |
884 separated from the comparison operator by whitespace; the | |
885 operator may be separated from the value on the right hand | |
886 side by whitespace. Both string and boolean variables may be | |
887 tested. Boolean variables must be tested against the values | |
888 ON and OFF. The following example is equivalent to the | |
889 'mode=emacs' test described above: | |
890 $if editing-mode == emacs | |
891 set show-mode-in-prompt on | |
892 $endif | |
893 | |
894 '$endif' | |
895 This command, as seen in the previous example, terminates an '$if' | |
896 command. | |
897 | |
898 '$else' | |
899 Commands in this branch of the '$if' directive are executed if the | |
900 test fails. | |
901 | |
902 '$include' | |
903 This directive takes a single filename as an argument and reads | |
904 commands and bindings from that file. For example, the following | |
905 directive reads from '/etc/inputrc': | |
906 $include /etc/inputrc | |
907 | |
908 | |
909 File: rluserman.info, Node: Sample Init File, Prev: Conditional Init Constructs, Up: Readline Init File | |
910 | |
911 1.3.3 Sample Init File | |
912 ---------------------- | |
913 | |
914 Here is an example of an INPUTRC file. This illustrates key binding, | |
915 variable assignment, and conditional syntax. | |
916 | |
917 # This file controls the behaviour of line input editing for | |
918 # programs that use the GNU Readline library. Existing | |
919 # programs include FTP, Bash, and GDB. | |
920 # | |
921 # You can re-read the inputrc file with C-x C-r. | |
922 # Lines beginning with '#' are comments. | |
923 # | |
924 # First, include any system-wide bindings and variable | |
925 # assignments from /etc/Inputrc | |
926 $include /etc/Inputrc | |
927 | |
928 # | |
929 # Set various bindings for emacs mode. | |
930 | |
931 set editing-mode emacs | |
932 | |
933 $if mode=emacs | |
934 | |
935 Meta-Control-h: backward-kill-word Text after the function name is ignored | |
936 | |
937 # | |
938 # Arrow keys in keypad mode | |
939 # | |
940 #"\M-OD": backward-char | |
941 #"\M-OC": forward-char | |
942 #"\M-OA": previous-history | |
943 #"\M-OB": next-history | |
944 # | |
945 # Arrow keys in ANSI mode | |
946 # | |
947 "\M-[D": backward-char | |
948 "\M-[C": forward-char | |
949 "\M-[A": previous-history | |
950 "\M-[B": next-history | |
951 # | |
952 # Arrow keys in 8 bit keypad mode | |
953 # | |
954 #"\M-\C-OD": backward-char | |
955 #"\M-\C-OC": forward-char | |
956 #"\M-\C-OA": previous-history | |
957 #"\M-\C-OB": next-history | |
958 # | |
959 # Arrow keys in 8 bit ANSI mode | |
960 # | |
961 #"\M-\C-[D": backward-char | |
962 #"\M-\C-[C": forward-char | |
963 #"\M-\C-[A": previous-history | |
964 #"\M-\C-[B": next-history | |
965 | |
966 C-q: quoted-insert | |
967 | |
968 $endif | |
969 | |
970 # An old-style binding. This happens to be the default. | |
971 TAB: complete | |
972 | |
973 # Macros that are convenient for shell interaction | |
974 $if Bash | |
975 # edit the path | |
976 "\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f" | |
977 # prepare to type a quoted word -- | |
978 # insert open and close double quotes | |
979 # and move to just after the open quote | |
980 "\C-x\"": "\"\"\C-b" | |
981 # insert a backslash (testing backslash escapes | |
982 # in sequences and macros) | |
983 "\C-x\\": "\\" | |
984 # Quote the current or previous word | |
985 "\C-xq": "\eb\"\ef\"" | |
986 # Add a binding to refresh the line, which is unbound | |
987 "\C-xr": redraw-current-line | |
988 # Edit variable on current line. | |
989 "\M-\C-v": "\C-a\C-k$\C-y\M-\C-e\C-a\C-y=" | |
990 $endif | |
991 | |
992 # use a visible bell if one is available | |
993 set bell-style visible | |
994 | |
995 # don't strip characters to 7 bits when reading | |
996 set input-meta on | |
997 | |
998 # allow iso-latin1 characters to be inserted rather | |
999 # than converted to prefix-meta sequences | |
1000 set convert-meta off | |
1001 | |
1002 # display characters with the eighth bit set directly | |
1003 # rather than as meta-prefixed characters | |
1004 set output-meta on | |
1005 | |
1006 # if there are 150 or more possible completions for a word, | |
1007 # ask whether or not the user wants to see all of them | |
1008 set completion-query-items 150 | |
1009 | |
1010 # For FTP | |
1011 $if Ftp | |
1012 "\C-xg": "get \M-?" | |
1013 "\C-xt": "put \M-?" | |
1014 "\M-.": yank-last-arg | |
1015 $endif | |
1016 | |
1017 | |
1018 File: rluserman.info, Node: Bindable Readline Commands, Next: Readline vi Mode, Prev: Readline Init File, Up: Command Line Editing | |
1019 | |
1020 1.4 Bindable Readline Commands | |
1021 ============================== | |
1022 | |
1023 * Menu: | |
1024 | |
1025 * Commands For Moving:: Moving about the line. | |
1026 * Commands For History:: Getting at previous lines. | |
1027 * Commands For Text:: Commands for changing text. | |
1028 * Commands For Killing:: Commands for killing and yanking. | |
1029 * Numeric Arguments:: Specifying numeric arguments, repeat counts. | |
1030 * Commands For Completion:: Getting Readline to do the typing for you. | |
1031 * Keyboard Macros:: Saving and re-executing typed characters | |
1032 * Miscellaneous Commands:: Other miscellaneous commands. | |
1033 | |
1034 This section describes Readline commands that may be bound to key | |
1035 sequences. Command names without an accompanying key sequence are | |
1036 unbound by default. | |
1037 | |
1038 In the following descriptions, "point" refers to the current cursor | |
1039 position, and "mark" refers to a cursor position saved by the 'set-mark' | |
1040 command. The text between the point and mark is referred to as the | |
1041 "region". | |
1042 | |
1043 | |
1044 File: rluserman.info, Node: Commands For Moving, Next: Commands For History, Up: Bindable Readline Commands | |
1045 | |
1046 1.4.1 Commands For Moving | |
1047 ------------------------- | |
1048 | |
1049 'beginning-of-line (C-a)' | |
1050 Move to the start of the current line. | |
1051 | |
1052 'end-of-line (C-e)' | |
1053 Move to the end of the line. | |
1054 | |
1055 'forward-char (C-f)' | |
1056 Move forward a character. | |
1057 | |
1058 'backward-char (C-b)' | |
1059 Move back a character. | |
1060 | |
1061 'forward-word (M-f)' | |
1062 Move forward to the end of the next word. Words are composed of | |
1063 letters and digits. | |
1064 | |
1065 'backward-word (M-b)' | |
1066 Move back to the start of the current or previous word. Words are | |
1067 composed of letters and digits. | |
1068 | |
1069 'previous-screen-line ()' | |
1070 Attempt to move point to the same physical screen column on the | |
1071 previous physical screen line. This will not have the desired | |
1072 effect if the current Readline line does not take up more than one | |
1073 physical line or if point is not greater than the length of the | |
1074 prompt plus the screen width. | |
1075 | |
1076 'next-screen-line ()' | |
1077 Attempt to move point to the same physical screen column on the | |
1078 next physical screen line. This will not have the desired effect | |
1079 if the current Readline line does not take up more than one | |
1080 physical line or if the length of the current Readline line is not | |
1081 greater than the length of the prompt plus the screen width. | |
1082 | |
1083 'clear-display (M-C-l)' | |
1084 Clear the screen and, if possible, the terminal's scrollback | |
1085 buffer, then redraw the current line, leaving the current line at | |
1086 the top of the screen. | |
1087 | |
1088 'clear-screen (C-l)' | |
1089 Clear the screen, then redraw the current line, leaving the current | |
1090 line at the top of the screen. | |
1091 | |
1092 'redraw-current-line ()' | |
1093 Refresh the current line. By default, this is unbound. | |
1094 | |
1095 | |
1096 File: rluserman.info, Node: Commands For History, Next: Commands For Text, Prev: Commands For Moving, Up: Bindable Readline Commands | |
1097 | |
1098 1.4.2 Commands For Manipulating The History | |
1099 ------------------------------------------- | |
1100 | |
1101 'accept-line (Newline or Return)' | |
1102 Accept the line regardless of where the cursor is. If this line is | |
1103 non-empty, it may be added to the history list for future recall | |
1104 with 'add_history()'. If this line is a modified history line, the | |
1105 history line is restored to its original state. | |
1106 | |
1107 'previous-history (C-p)' | |
1108 Move 'back' through the history list, fetching the previous | |
1109 command. | |
1110 | |
1111 'next-history (C-n)' | |
1112 Move 'forward' through the history list, fetching the next command. | |
1113 | |
1114 'beginning-of-history (M-<)' | |
1115 Move to the first line in the history. | |
1116 | |
1117 'end-of-history (M->)' | |
1118 Move to the end of the input history, i.e., the line currently | |
1119 being entered. | |
1120 | |
1121 'reverse-search-history (C-r)' | |
1122 Search backward starting at the current line and moving 'up' | |
1123 through the history as necessary. This is an incremental search. | |
1124 This command sets the region to the matched text and activates the | |
1125 mark. | |
1126 | |
1127 'forward-search-history (C-s)' | |
1128 Search forward starting at the current line and moving 'down' | |
1129 through the history as necessary. This is an incremental search. | |
1130 This command sets the region to the matched text and activates the | |
1131 mark. | |
1132 | |
1133 'non-incremental-reverse-search-history (M-p)' | |
1134 Search backward starting at the current line and moving 'up' | |
1135 through the history as necessary using a non-incremental search for | |
1136 a string supplied by the user. The search string may match | |
1137 anywhere in a history line. | |
1138 | |
1139 'non-incremental-forward-search-history (M-n)' | |
1140 Search forward starting at the current line and moving 'down' | |
1141 through the history as necessary using a non-incremental search for | |
1142 a string supplied by the user. The search string may match | |
1143 anywhere in a history line. | |
1144 | |
1145 'history-search-forward ()' | |
1146 Search forward through the history for the string of characters | |
1147 between the start of the current line and the point. The search | |
1148 string must match at the beginning of a history line. This is a | |
1149 non-incremental search. By default, this command is unbound. | |
1150 | |
1151 'history-search-backward ()' | |
1152 Search backward through the history for the string of characters | |
1153 between the start of the current line and the point. The search | |
1154 string must match at the beginning of a history line. This is a | |
1155 non-incremental search. By default, this command is unbound. | |
1156 | |
1157 'history-substring-search-forward ()' | |
1158 Search forward through the history for the string of characters | |
1159 between the start of the current line and the point. The search | |
1160 string may match anywhere in a history line. This is a | |
1161 non-incremental search. By default, this command is unbound. | |
1162 | |
1163 'history-substring-search-backward ()' | |
1164 Search backward through the history for the string of characters | |
1165 between the start of the current line and the point. The search | |
1166 string may match anywhere in a history line. This is a | |
1167 non-incremental search. By default, this command is unbound. | |
1168 | |
1169 'yank-nth-arg (M-C-y)' | |
1170 Insert the first argument to the previous command (usually the | |
1171 second word on the previous line) at point. With an argument N, | |
1172 insert the Nth word from the previous command (the words in the | |
1173 previous command begin with word 0). A negative argument inserts | |
1174 the Nth word from the end of the previous command. Once the | |
1175 argument N is computed, the argument is extracted as if the '!N' | |
1176 history expansion had been specified. | |
1177 | |
1178 'yank-last-arg (M-. or M-_)' | |
1179 Insert last argument to the previous command (the last word of the | |
1180 previous history entry). With a numeric argument, behave exactly | |
1181 like 'yank-nth-arg'. Successive calls to 'yank-last-arg' move back | |
1182 through the history list, inserting the last word (or the word | |
1183 specified by the argument to the first call) of each line in turn. | |
1184 Any numeric argument supplied to these successive calls determines | |
1185 the direction to move through the history. A negative argument | |
1186 switches the direction through the history (back or forward). The | |
1187 history expansion facilities are used to extract the last argument, | |
1188 as if the '!$' history expansion had been specified. | |
1189 | |
1190 'operate-and-get-next (C-o)' | |
1191 Accept the current line for return to the calling application as if | |
1192 a newline had been entered, and fetch the next line relative to the | |
1193 current line from the history for editing. A numeric argument, if | |
1194 supplied, specifies the history entry to use instead of the current | |
1195 line. | |
1196 | |
1197 'fetch-history ()' | |
1198 With a numeric argument, fetch that entry from the history list and | |
1199 make it the current line. Without an argument, move back to the | |
1200 first entry in the history list. | |
1201 | |
1202 | |
1203 File: rluserman.info, Node: Commands For Text, Next: Commands For Killing, Prev: Commands For History, Up: Bindable Readline Commands | |
1204 | |
1205 1.4.3 Commands For Changing Text | |
1206 -------------------------------- | |
1207 | |
1208 'end-of-file (usually C-d)' | |
1209 The character indicating end-of-file as set, for example, by | |
1210 'stty'. If this character is read when there are no characters on | |
1211 the line, and point is at the beginning of the line, Readline | |
1212 interprets it as the end of input and returns EOF. | |
1213 | |
1214 'delete-char (C-d)' | |
1215 Delete the character at point. If this function is bound to the | |
1216 same character as the tty EOF character, as 'C-d' commonly is, see | |
1217 above for the effects. | |
1218 | |
1219 'backward-delete-char (Rubout)' | |
1220 Delete the character behind the cursor. A numeric argument means | |
1221 to kill the characters instead of deleting them. | |
1222 | |
1223 'forward-backward-delete-char ()' | |
1224 Delete the character under the cursor, unless the cursor is at the | |
1225 end of the line, in which case the character behind the cursor is | |
1226 deleted. By default, this is not bound to a key. | |
1227 | |
1228 'quoted-insert (C-q or C-v)' | |
1229 Add the next character typed to the line verbatim. This is how to | |
1230 insert key sequences like 'C-q', for example. | |
1231 | |
1232 'tab-insert (M-<TAB>)' | |
1233 Insert a tab character. | |
1234 | |
1235 'self-insert (a, b, A, 1, !, ...)' | |
1236 Insert yourself. | |
1237 | |
1238 'bracketed-paste-begin ()' | |
1239 This function is intended to be bound to the "bracketed paste" | |
1240 escape sequence sent by some terminals, and such a binding is | |
1241 assigned by default. It allows Readline to insert the pasted text | |
1242 as a single unit without treating each character as if it had been | |
1243 read from the keyboard. The characters are inserted as if each one | |
1244 was bound to 'self-insert' instead of executing any editing | |
1245 commands. | |
1246 | |
1247 Bracketed paste sets the region (the characters between point and | |
1248 the mark) to the inserted text. It uses the concept of an _active | |
1249 mark_: when the mark is active, Readline redisplay uses the | |
1250 terminal's standout mode to denote the region. | |
1251 | |
1252 'transpose-chars (C-t)' | |
1253 Drag the character before the cursor forward over the character at | |
1254 the cursor, moving the cursor forward as well. If the insertion | |
1255 point is at the end of the line, then this transposes the last two | |
1256 characters of the line. Negative arguments have no effect. | |
1257 | |
1258 'transpose-words (M-t)' | |
1259 Drag the word before point past the word after point, moving point | |
1260 past that word as well. If the insertion point is at the end of | |
1261 the line, this transposes the last two words on the line. | |
1262 | |
1263 'upcase-word (M-u)' | |
1264 Uppercase the current (or following) word. With a negative | |
1265 argument, uppercase the previous word, but do not move the cursor. | |
1266 | |
1267 'downcase-word (M-l)' | |
1268 Lowercase the current (or following) word. With a negative | |
1269 argument, lowercase the previous word, but do not move the cursor. | |
1270 | |
1271 'capitalize-word (M-c)' | |
1272 Capitalize the current (or following) word. With a negative | |
1273 argument, capitalize the previous word, but do not move the cursor. | |
1274 | |
1275 'overwrite-mode ()' | |
1276 Toggle overwrite mode. With an explicit positive numeric argument, | |
1277 switches to overwrite mode. With an explicit non-positive numeric | |
1278 argument, switches to insert mode. This command affects only | |
1279 'emacs' mode; 'vi' mode does overwrite differently. Each call to | |
1280 'readline()' starts in insert mode. | |
1281 | |
1282 In overwrite mode, characters bound to 'self-insert' replace the | |
1283 text at point rather than pushing the text to the right. | |
1284 Characters bound to 'backward-delete-char' replace the character | |
1285 before point with a space. | |
1286 | |
1287 By default, this command is unbound. | |
1288 | |
1289 | |
1290 File: rluserman.info, Node: Commands For Killing, Next: Numeric Arguments, Prev: Commands For Text, Up: Bindable Readline Commands | |
1291 | |
1292 1.4.4 Killing And Yanking | |
1293 ------------------------- | |
1294 | |
1295 'kill-line (C-k)' | |
1296 Kill the text from point to the end of the line. With a negative | |
1297 numeric argument, kill backward from the cursor to the beginning of | |
1298 the current line. | |
1299 | |
1300 'backward-kill-line (C-x Rubout)' | |
1301 Kill backward from the cursor to the beginning of the current line. | |
1302 With a negative numeric argument, kill forward from the cursor to | |
1303 the end of the current line. | |
1304 | |
1305 'unix-line-discard (C-u)' | |
1306 Kill backward from the cursor to the beginning of the current line. | |
1307 | |
1308 'kill-whole-line ()' | |
1309 Kill all characters on the current line, no matter where point is. | |
1310 By default, this is unbound. | |
1311 | |
1312 'kill-word (M-d)' | |
1313 Kill from point to the end of the current word, or if between | |
1314 words, to the end of the next word. Word boundaries are the same | |
1315 as 'forward-word'. | |
1316 | |
1317 'backward-kill-word (M-<DEL>)' | |
1318 Kill the word behind point. Word boundaries are the same as | |
1319 'backward-word'. | |
1320 | |
1321 'shell-transpose-words (M-C-t)' | |
1322 Drag the word before point past the word after point, moving point | |
1323 past that word as well. If the insertion point is at the end of | |
1324 the line, this transposes the last two words on the line. Word | |
1325 boundaries are the same as 'shell-forward-word' and | |
1326 'shell-backward-word'. | |
1327 | |
1328 'unix-word-rubout (C-w)' | |
1329 Kill the word behind point, using white space as a word boundary. | |
1330 The killed text is saved on the kill-ring. | |
1331 | |
1332 'unix-filename-rubout ()' | |
1333 Kill the word behind point, using white space and the slash | |
1334 character as the word boundaries. The killed text is saved on the | |
1335 kill-ring. | |
1336 | |
1337 'delete-horizontal-space ()' | |
1338 Delete all spaces and tabs around point. By default, this is | |
1339 unbound. | |
1340 | |
1341 'kill-region ()' | |
1342 Kill the text in the current region. By default, this command is | |
1343 unbound. | |
1344 | |
1345 'copy-region-as-kill ()' | |
1346 Copy the text in the region to the kill buffer, so it can be yanked | |
1347 right away. By default, this command is unbound. | |
1348 | |
1349 'copy-backward-word ()' | |
1350 Copy the word before point to the kill buffer. The word boundaries | |
1351 are the same as 'backward-word'. By default, this command is | |
1352 unbound. | |
1353 | |
1354 'copy-forward-word ()' | |
1355 Copy the word following point to the kill buffer. The word | |
1356 boundaries are the same as 'forward-word'. By default, this | |
1357 command is unbound. | |
1358 | |
1359 'yank (C-y)' | |
1360 Yank the top of the kill ring into the buffer at point. | |
1361 | |
1362 'yank-pop (M-y)' | |
1363 Rotate the kill-ring, and yank the new top. You can only do this | |
1364 if the prior command is 'yank' or 'yank-pop'. | |
1365 | |
1366 | |
1367 File: rluserman.info, Node: Numeric Arguments, Next: Commands For Completion, Prev: Commands For Killing, Up: Bindable Readline Commands | |
1368 | |
1369 1.4.5 Specifying Numeric Arguments | |
1370 ---------------------------------- | |
1371 | |
1372 'digit-argument (M-0, M-1, ... M--)' | |
1373 Add this digit to the argument already accumulating, or start a new | |
1374 argument. 'M--' starts a negative argument. | |
1375 | |
1376 'universal-argument ()' | |
1377 This is another way to specify an argument. If this command is | |
1378 followed by one or more digits, optionally with a leading minus | |
1379 sign, those digits define the argument. If the command is followed | |
1380 by digits, executing 'universal-argument' again ends the numeric | |
1381 argument, but is otherwise ignored. As a special case, if this | |
1382 command is immediately followed by a character that is neither a | |
1383 digit nor minus sign, the argument count for the next command is | |
1384 multiplied by four. The argument count is initially one, so | |
1385 executing this function the first time makes the argument count | |
1386 four, a second time makes the argument count sixteen, and so on. | |
1387 By default, this is not bound to a key. | |
1388 | |
1389 | |
1390 File: rluserman.info, Node: Commands For Completion, Next: Keyboard Macros, Prev: Numeric Arguments, Up: Bindable Readline Commands | |
1391 | |
1392 1.4.6 Letting Readline Type For You | |
1393 ----------------------------------- | |
1394 | |
1395 'complete (<TAB>)' | |
1396 Attempt to perform completion on the text before point. The actual | |
1397 completion performed is application-specific. The default is | |
1398 filename completion. | |
1399 | |
1400 'possible-completions (M-?)' | |
1401 List the possible completions of the text before point. When | |
1402 displaying completions, Readline sets the number of columns used | |
1403 for display to the value of 'completion-display-width', the value | |
1404 of the environment variable 'COLUMNS', or the screen width, in that | |
1405 order. | |
1406 | |
1407 'insert-completions (M-*)' | |
1408 Insert all completions of the text before point that would have | |
1409 been generated by 'possible-completions'. | |
1410 | |
1411 'menu-complete ()' | |
1412 Similar to 'complete', but replaces the word to be completed with a | |
1413 single match from the list of possible completions. Repeated | |
1414 execution of 'menu-complete' steps through the list of possible | |
1415 completions, inserting each match in turn. At the end of the list | |
1416 of completions, the bell is rung (subject to the setting of | |
1417 'bell-style') and the original text is restored. An argument of N | |
1418 moves N positions forward in the list of matches; a negative | |
1419 argument may be used to move backward through the list. This | |
1420 command is intended to be bound to <TAB>, but is unbound by | |
1421 default. | |
1422 | |
1423 'menu-complete-backward ()' | |
1424 Identical to 'menu-complete', but moves backward through the list | |
1425 of possible completions, as if 'menu-complete' had been given a | |
1426 negative argument. | |
1427 | |
1428 'delete-char-or-list ()' | |
1429 Deletes the character under the cursor if not at the beginning or | |
1430 end of the line (like 'delete-char'). If at the end of the line, | |
1431 behaves identically to 'possible-completions'. This command is | |
1432 unbound by default. | |
1433 | |
1434 | |
1435 File: rluserman.info, Node: Keyboard Macros, Next: Miscellaneous Commands, Prev: Commands For Completion, Up: Bindable Readline Commands | |
1436 | |
1437 1.4.7 Keyboard Macros | |
1438 --------------------- | |
1439 | |
1440 'start-kbd-macro (C-x ()' | |
1441 Begin saving the characters typed into the current keyboard macro. | |
1442 | |
1443 'end-kbd-macro (C-x ))' | |
1444 Stop saving the characters typed into the current keyboard macro | |
1445 and save the definition. | |
1446 | |
1447 'call-last-kbd-macro (C-x e)' | |
1448 Re-execute the last keyboard macro defined, by making the | |
1449 characters in the macro appear as if typed at the keyboard. | |
1450 | |
1451 'print-last-kbd-macro ()' | |
1452 Print the last keyboard macro defined in a format suitable for the | |
1453 INPUTRC file. | |
1454 | |
1455 | |
1456 File: rluserman.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up: Bindable Readline Commands | |
1457 | |
1458 1.4.8 Some Miscellaneous Commands | |
1459 --------------------------------- | |
1460 | |
1461 're-read-init-file (C-x C-r)' | |
1462 Read in the contents of the INPUTRC file, and incorporate any | |
1463 bindings or variable assignments found there. | |
1464 | |
1465 'abort (C-g)' | |
1466 Abort the current editing command and ring the terminal's bell | |
1467 (subject to the setting of 'bell-style'). | |
1468 | |
1469 'do-lowercase-version (M-A, M-B, M-X, ...)' | |
1470 If the metafied character X is upper case, run the command that is | |
1471 bound to the corresponding metafied lower case character. The | |
1472 behavior is undefined if X is already lower case. | |
1473 | |
1474 'prefix-meta (<ESC>)' | |
1475 Metafy the next character typed. This is for keyboards without a | |
1476 meta key. Typing '<ESC> f' is equivalent to typing 'M-f'. | |
1477 | |
1478 'undo (C-_ or C-x C-u)' | |
1479 Incremental undo, separately remembered for each line. | |
1480 | |
1481 'revert-line (M-r)' | |
1482 Undo all changes made to this line. This is like executing the | |
1483 'undo' command enough times to get back to the beginning. | |
1484 | |
1485 'tilde-expand (M-~)' | |
1486 Perform tilde expansion on the current word. | |
1487 | |
1488 'set-mark (C-@)' | |
1489 Set the mark to the point. If a numeric argument is supplied, the | |
1490 mark is set to that position. | |
1491 | |
1492 'exchange-point-and-mark (C-x C-x)' | |
1493 Swap the point with the mark. The current cursor position is set | |
1494 to the saved position, and the old cursor position is saved as the | |
1495 mark. | |
1496 | |
1497 'character-search (C-])' | |
1498 A character is read and point is moved to the next occurrence of | |
1499 that character. A negative argument searches for previous | |
1500 occurrences. | |
1501 | |
1502 'character-search-backward (M-C-])' | |
1503 A character is read and point is moved to the previous occurrence | |
1504 of that character. A negative argument searches for subsequent | |
1505 occurrences. | |
1506 | |
1507 'skip-csi-sequence ()' | |
1508 Read enough characters to consume a multi-key sequence such as | |
1509 those defined for keys like Home and End. Such sequences begin | |
1510 with a Control Sequence Indicator (CSI), usually ESC-[. If this | |
1511 sequence is bound to "\e[", keys producing such sequences will have | |
1512 no effect unless explicitly bound to a Readline command, instead of | |
1513 inserting stray characters into the editing buffer. This is | |
1514 unbound by default, but usually bound to ESC-[. | |
1515 | |
1516 'insert-comment (M-#)' | |
1517 Without a numeric argument, the value of the 'comment-begin' | |
1518 variable is inserted at the beginning of the current line. If a | |
1519 numeric argument is supplied, this command acts as a toggle: if the | |
1520 characters at the beginning of the line do not match the value of | |
1521 'comment-begin', the value is inserted, otherwise the characters in | |
1522 'comment-begin' are deleted from the beginning of the line. In | |
1523 either case, the line is accepted as if a newline had been typed. | |
1524 | |
1525 'dump-functions ()' | |
1526 Print all of the functions and their key bindings to the Readline | |
1527 output stream. If a numeric argument is supplied, the output is | |
1528 formatted in such a way that it can be made part of an INPUTRC | |
1529 file. This command is unbound by default. | |
1530 | |
1531 'dump-variables ()' | |
1532 Print all of the settable variables and their values to the | |
1533 Readline output stream. If a numeric argument is supplied, the | |
1534 output is formatted in such a way that it can be made part of an | |
1535 INPUTRC file. This command is unbound by default. | |
1536 | |
1537 'dump-macros ()' | |
1538 Print all of the Readline key sequences bound to macros and the | |
1539 strings they output. If a numeric argument is supplied, the output | |
1540 is formatted in such a way that it can be made part of an INPUTRC | |
1541 file. This command is unbound by default. | |
1542 | |
1543 'emacs-editing-mode (C-e)' | |
1544 When in 'vi' command mode, this causes a switch to 'emacs' editing | |
1545 mode. | |
1546 | |
1547 'vi-editing-mode (M-C-j)' | |
1548 When in 'emacs' editing mode, this causes a switch to 'vi' editing | |
1549 mode. | |
1550 | |
1551 | |
1552 File: rluserman.info, Node: Readline vi Mode, Prev: Bindable Readline Commands, Up: Command Line Editing | |
1553 | |
1554 1.5 Readline vi Mode | |
1555 ==================== | |
1556 | |
1557 While the Readline library does not have a full set of 'vi' editing | |
1558 functions, it does contain enough to allow simple editing of the line. | |
1559 The Readline 'vi' mode behaves as specified in the POSIX standard. | |
1560 | |
1561 In order to switch interactively between 'emacs' and 'vi' editing | |
1562 modes, use the command 'M-C-j' (bound to emacs-editing-mode when in 'vi' | |
1563 mode and to vi-editing-mode in 'emacs' mode). The Readline default is | |
1564 'emacs' mode. | |
1565 | |
1566 When you enter a line in 'vi' mode, you are already placed in | |
1567 'insertion' mode, as if you had typed an 'i'. Pressing <ESC> switches | |
1568 you into 'command' mode, where you can edit the text of the line with | |
1569 the standard 'vi' movement keys, move to previous history lines with 'k' | |
1570 and subsequent lines with 'j', and so forth. | |
1571 | |
1572 | |
1573 File: rluserman.info, Node: GNU Free Documentation License, Prev: Command Line Editing, Up: Top | |
1574 | |
1575 Appendix A GNU Free Documentation License | |
1576 ***************************************** | |
1577 | |
1578 Version 1.3, 3 November 2008 | |
1579 | |
1580 Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. | |
1581 <http://fsf.org/> | |
1582 | |
1583 Everyone is permitted to copy and distribute verbatim copies | |
1584 of this license document, but changing it is not allowed. | |
1585 | |
1586 0. PREAMBLE | |
1587 | |
1588 The purpose of this License is to make a manual, textbook, or other | |
1589 functional and useful document "free" in the sense of freedom: to | |
1590 assure everyone the effective freedom to copy and redistribute it, | |
1591 with or without modifying it, either commercially or | |
1592 noncommercially. Secondarily, this License preserves for the | |
1593 author and publisher a way to get credit for their work, while not | |
1594 being considered responsible for modifications made by others. | |
1595 | |
1596 This License is a kind of "copyleft", which means that derivative | |
1597 works of the document must themselves be free in the same sense. | |
1598 It complements the GNU General Public License, which is a copyleft | |
1599 license designed for free software. | |
1600 | |
1601 We have designed this License in order to use it for manuals for | |
1602 free software, because free software needs free documentation: a | |
1603 free program should come with manuals providing the same freedoms | |
1604 that the software does. But this License is not limited to | |
1605 software manuals; it can be used for any textual work, regardless | |
1606 of subject matter or whether it is published as a printed book. We | |
1607 recommend this License principally for works whose purpose is | |
1608 instruction or reference. | |
1609 | |
1610 1. APPLICABILITY AND DEFINITIONS | |
1611 | |
1612 This License applies to any manual or other work, in any medium, | |
1613 that contains a notice placed by the copyright holder saying it can | |
1614 be distributed under the terms of this License. Such a notice | |
1615 grants a world-wide, royalty-free license, unlimited in duration, | |
1616 to use that work under the conditions stated herein. The | |
1617 "Document", below, refers to any such manual or work. Any member | |
1618 of the public is a licensee, and is addressed as "you". You accept | |
1619 the license if you copy, modify or distribute the work in a way | |
1620 requiring permission under copyright law. | |
1621 | |
1622 A "Modified Version" of the Document means any work containing the | |
1623 Document or a portion of it, either copied verbatim, or with | |
1624 modifications and/or translated into another language. | |
1625 | |
1626 A "Secondary Section" is a named appendix or a front-matter section | |
1627 of the Document that deals exclusively with the relationship of the | |
1628 publishers or authors of the Document to the Document's overall | |
1629 subject (or to related matters) and contains nothing that could | |
1630 fall directly within that overall subject. (Thus, if the Document | |
1631 is in part a textbook of mathematics, a Secondary Section may not | |
1632 explain any mathematics.) The relationship could be a matter of | |
1633 historical connection with the subject or with related matters, or | |
1634 of legal, commercial, philosophical, ethical or political position | |
1635 regarding them. | |
1636 | |
1637 The "Invariant Sections" are certain Secondary Sections whose | |
1638 titles are designated, as being those of Invariant Sections, in the | |
1639 notice that says that the Document is released under this License. | |
1640 If a section does not fit the above definition of Secondary then it | |
1641 is not allowed to be designated as Invariant. The Document may | |
1642 contain zero Invariant Sections. If the Document does not identify | |
1643 any Invariant Sections then there are none. | |
1644 | |
1645 The "Cover Texts" are certain short passages of text that are | |
1646 listed, as Front-Cover Texts or Back-Cover Texts, in the notice | |
1647 that says that the Document is released under this License. A | |
1648 Front-Cover Text may be at most 5 words, and a Back-Cover Text may | |
1649 be at most 25 words. | |
1650 | |
1651 A "Transparent" copy of the Document means a machine-readable copy, | |
1652 represented in a format whose specification is available to the | |
1653 general public, that is suitable for revising the document | |
1654 straightforwardly with generic text editors or (for images composed | |
1655 of pixels) generic paint programs or (for drawings) some widely | |
1656 available drawing editor, and that is suitable for input to text | |
1657 formatters or for automatic translation to a variety of formats | |
1658 suitable for input to text formatters. A copy made in an otherwise | |
1659 Transparent file format whose markup, or absence of markup, has | |
1660 been arranged to thwart or discourage subsequent modification by | |
1661 readers is not Transparent. An image format is not Transparent if | |
1662 used for any substantial amount of text. A copy that is not | |
1663 "Transparent" is called "Opaque". | |
1664 | |
1665 Examples of suitable formats for Transparent copies include plain | |
1666 ASCII without markup, Texinfo input format, LaTeX input format, | |
1667 SGML or XML using a publicly available DTD, and standard-conforming | |
1668 simple HTML, PostScript or PDF designed for human modification. | |
1669 Examples of transparent image formats include PNG, XCF and JPG. | |
1670 Opaque formats include proprietary formats that can be read and | |
1671 edited only by proprietary word processors, SGML or XML for which | |
1672 the DTD and/or processing tools are not generally available, and | |
1673 the machine-generated HTML, PostScript or PDF produced by some word | |
1674 processors for output purposes only. | |
1675 | |
1676 The "Title Page" means, for a printed book, the title page itself, | |
1677 plus such following pages as are needed to hold, legibly, the | |
1678 material this License requires to appear in the title page. For | |
1679 works in formats which do not have any title page as such, "Title | |
1680 Page" means the text near the most prominent appearance of the | |
1681 work's title, preceding the beginning of the body of the text. | |
1682 | |
1683 The "publisher" means any person or entity that distributes copies | |
1684 of the Document to the public. | |
1685 | |
1686 A section "Entitled XYZ" means a named subunit of the Document | |
1687 whose title either is precisely XYZ or contains XYZ in parentheses | |
1688 following text that translates XYZ in another language. (Here XYZ | |
1689 stands for a specific section name mentioned below, such as | |
1690 "Acknowledgements", "Dedications", "Endorsements", or "History".) | |
1691 To "Preserve the Title" of such a section when you modify the | |
1692 Document means that it remains a section "Entitled XYZ" according | |
1693 to this definition. | |
1694 | |
1695 The Document may include Warranty Disclaimers next to the notice | |
1696 which states that this License applies to the Document. These | |
1697 Warranty Disclaimers are considered to be included by reference in | |
1698 this License, but only as regards disclaiming warranties: any other | |
1699 implication that these Warranty Disclaimers may have is void and | |
1700 has no effect on the meaning of this License. | |
1701 | |
1702 2. VERBATIM COPYING | |
1703 | |
1704 You may copy and distribute the Document in any medium, either | |
1705 commercially or noncommercially, provided that this License, the | |
1706 copyright notices, and the license notice saying this License | |
1707 applies to the Document are reproduced in all copies, and that you | |
1708 add no other conditions whatsoever to those of this License. You | |
1709 may not use technical measures to obstruct or control the reading | |
1710 or further copying of the copies you make or distribute. However, | |
1711 you may accept compensation in exchange for copies. If you | |
1712 distribute a large enough number of copies you must also follow the | |
1713 conditions in section 3. | |
1714 | |
1715 You may also lend copies, under the same conditions stated above, | |
1716 and you may publicly display copies. | |
1717 | |
1718 3. COPYING IN QUANTITY | |
1719 | |
1720 If you publish printed copies (or copies in media that commonly | |
1721 have printed covers) of the Document, numbering more than 100, and | |
1722 the Document's license notice requires Cover Texts, you must | |
1723 enclose the copies in covers that carry, clearly and legibly, all | |
1724 these Cover Texts: Front-Cover Texts on the front cover, and | |
1725 Back-Cover Texts on the back cover. Both covers must also clearly | |
1726 and legibly identify you as the publisher of these copies. The | |
1727 front cover must present the full title with all words of the title | |
1728 equally prominent and visible. You may add other material on the | |
1729 covers in addition. Copying with changes limited to the covers, as | |
1730 long as they preserve the title of the Document and satisfy these | |
1731 conditions, can be treated as verbatim copying in other respects. | |
1732 | |
1733 If the required texts for either cover are too voluminous to fit | |
1734 legibly, you should put the first ones listed (as many as fit | |
1735 reasonably) on the actual cover, and continue the rest onto | |
1736 adjacent pages. | |
1737 | |
1738 If you publish or distribute Opaque copies of the Document | |
1739 numbering more than 100, you must either include a machine-readable | |
1740 Transparent copy along with each Opaque copy, or state in or with | |
1741 each Opaque copy a computer-network location from which the general | |
1742 network-using public has access to download using public-standard | |
1743 network protocols a complete Transparent copy of the Document, free | |
1744 of added material. If you use the latter option, you must take | |
1745 reasonably prudent steps, when you begin distribution of Opaque | |
1746 copies in quantity, to ensure that this Transparent copy will | |
1747 remain thus accessible at the stated location until at least one | |
1748 year after the last time you distribute an Opaque copy (directly or | |
1749 through your agents or retailers) of that edition to the public. | |
1750 | |
1751 It is requested, but not required, that you contact the authors of | |
1752 the Document well before redistributing any large number of copies, | |
1753 to give them a chance to provide you with an updated version of the | |
1754 Document. | |
1755 | |
1756 4. MODIFICATIONS | |
1757 | |
1758 You may copy and distribute a Modified Version of the Document | |
1759 under the conditions of sections 2 and 3 above, provided that you | |
1760 release the Modified Version under precisely this License, with the | |
1761 Modified Version filling the role of the Document, thus licensing | |
1762 distribution and modification of the Modified Version to whoever | |
1763 possesses a copy of it. In addition, you must do these things in | |
1764 the Modified Version: | |
1765 | |
1766 A. Use in the Title Page (and on the covers, if any) a title | |
1767 distinct from that of the Document, and from those of previous | |
1768 versions (which should, if there were any, be listed in the | |
1769 History section of the Document). You may use the same title | |
1770 as a previous version if the original publisher of that | |
1771 version gives permission. | |
1772 | |
1773 B. List on the Title Page, as authors, one or more persons or | |
1774 entities responsible for authorship of the modifications in | |
1775 the Modified Version, together with at least five of the | |
1776 principal authors of the Document (all of its principal | |
1777 authors, if it has fewer than five), unless they release you | |
1778 from this requirement. | |
1779 | |
1780 C. State on the Title page the name of the publisher of the | |
1781 Modified Version, as the publisher. | |
1782 | |
1783 D. Preserve all the copyright notices of the Document. | |
1784 | |
1785 E. Add an appropriate copyright notice for your modifications | |
1786 adjacent to the other copyright notices. | |
1787 | |
1788 F. Include, immediately after the copyright notices, a license | |
1789 notice giving the public permission to use the Modified | |
1790 Version under the terms of this License, in the form shown in | |
1791 the Addendum below. | |
1792 | |
1793 G. Preserve in that license notice the full lists of Invariant | |
1794 Sections and required Cover Texts given in the Document's | |
1795 license notice. | |
1796 | |
1797 H. Include an unaltered copy of this License. | |
1798 | |
1799 I. Preserve the section Entitled "History", Preserve its Title, | |
1800 and add to it an item stating at least the title, year, new | |
1801 authors, and publisher of the Modified Version as given on the | |
1802 Title Page. If there is no section Entitled "History" in the | |
1803 Document, create one stating the title, year, authors, and | |
1804 publisher of the Document as given on its Title Page, then add | |
1805 an item describing the Modified Version as stated in the | |
1806 previous sentence. | |
1807 | |
1808 J. Preserve the network location, if any, given in the Document | |
1809 for public access to a Transparent copy of the Document, and | |
1810 likewise the network locations given in the Document for | |
1811 previous versions it was based on. These may be placed in the | |
1812 "History" section. You may omit a network location for a work | |
1813 that was published at least four years before the Document | |
1814 itself, or if the original publisher of the version it refers | |
1815 to gives permission. | |
1816 | |
1817 K. For any section Entitled "Acknowledgements" or "Dedications", | |
1818 Preserve the Title of the section, and preserve in the section | |
1819 all the substance and tone of each of the contributor | |
1820 acknowledgements and/or dedications given therein. | |
1821 | |
1822 L. Preserve all the Invariant Sections of the Document, unaltered | |
1823 in their text and in their titles. Section numbers or the | |
1824 equivalent are not considered part of the section titles. | |
1825 | |
1826 M. Delete any section Entitled "Endorsements". Such a section | |
1827 may not be included in the Modified Version. | |
1828 | |
1829 N. Do not retitle any existing section to be Entitled | |
1830 "Endorsements" or to conflict in title with any Invariant | |
1831 Section. | |
1832 | |
1833 O. Preserve any Warranty Disclaimers. | |
1834 | |
1835 If the Modified Version includes new front-matter sections or | |
1836 appendices that qualify as Secondary Sections and contain no | |
1837 material copied from the Document, you may at your option designate | |
1838 some or all of these sections as invariant. To do this, add their | |
1839 titles to the list of Invariant Sections in the Modified Version's | |
1840 license notice. These titles must be distinct from any other | |
1841 section titles. | |
1842 | |
1843 You may add a section Entitled "Endorsements", provided it contains | |
1844 nothing but endorsements of your Modified Version by various | |
1845 parties--for example, statements of peer review or that the text | |
1846 has been approved by an organization as the authoritative | |
1847 definition of a standard. | |
1848 | |
1849 You may add a passage of up to five words as a Front-Cover Text, | |
1850 and a passage of up to 25 words as a Back-Cover Text, to the end of | |
1851 the list of Cover Texts in the Modified Version. Only one passage | |
1852 of Front-Cover Text and one of Back-Cover Text may be added by (or | |
1853 through arrangements made by) any one entity. If the Document | |
1854 already includes a cover text for the same cover, previously added | |
1855 by you or by arrangement made by the same entity you are acting on | |
1856 behalf of, you may not add another; but you may replace the old | |
1857 one, on explicit permission from the previous publisher that added | |
1858 the old one. | |
1859 | |
1860 The author(s) and publisher(s) of the Document do not by this | |
1861 License give permission to use their names for publicity for or to | |
1862 assert or imply endorsement of any Modified Version. | |
1863 | |
1864 5. COMBINING DOCUMENTS | |
1865 | |
1866 You may combine the Document with other documents released under | |
1867 this License, under the terms defined in section 4 above for | |
1868 modified versions, provided that you include in the combination all | |
1869 of the Invariant Sections of all of the original documents, | |
1870 unmodified, and list them all as Invariant Sections of your | |
1871 combined work in its license notice, and that you preserve all | |
1872 their Warranty Disclaimers. | |
1873 | |
1874 The combined work need only contain one copy of this License, and | |
1875 multiple identical Invariant Sections may be replaced with a single | |
1876 copy. If there are multiple Invariant Sections with the same name | |
1877 but different contents, make the title of each such section unique | |
1878 by adding at the end of it, in parentheses, the name of the | |
1879 original author or publisher of that section if known, or else a | |
1880 unique number. Make the same adjustment to the section titles in | |
1881 the list of Invariant Sections in the license notice of the | |
1882 combined work. | |
1883 | |
1884 In the combination, you must combine any sections Entitled | |
1885 "History" in the various original documents, forming one section | |
1886 Entitled "History"; likewise combine any sections Entitled | |
1887 "Acknowledgements", and any sections Entitled "Dedications". You | |
1888 must delete all sections Entitled "Endorsements." | |
1889 | |
1890 6. COLLECTIONS OF DOCUMENTS | |
1891 | |
1892 You may make a collection consisting of the Document and other | |
1893 documents released under this License, and replace the individual | |
1894 copies of this License in the various documents with a single copy | |
1895 that is included in the collection, provided that you follow the | |
1896 rules of this License for verbatim copying of each of the documents | |
1897 in all other respects. | |
1898 | |
1899 You may extract a single document from such a collection, and | |
1900 distribute it individually under this License, provided you insert | |
1901 a copy of this License into the extracted document, and follow this | |
1902 License in all other respects regarding verbatim copying of that | |
1903 document. | |
1904 | |
1905 7. AGGREGATION WITH INDEPENDENT WORKS | |
1906 | |
1907 A compilation of the Document or its derivatives with other | |
1908 separate and independent documents or works, in or on a volume of a | |
1909 storage or distribution medium, is called an "aggregate" if the | |
1910 copyright resulting from the compilation is not used to limit the | |
1911 legal rights of the compilation's users beyond what the individual | |
1912 works permit. When the Document is included in an aggregate, this | |
1913 License does not apply to the other works in the aggregate which | |
1914 are not themselves derivative works of the Document. | |
1915 | |
1916 If the Cover Text requirement of section 3 is applicable to these | |
1917 copies of the Document, then if the Document is less than one half | |
1918 of the entire aggregate, the Document's Cover Texts may be placed | |
1919 on covers that bracket the Document within the aggregate, or the | |
1920 electronic equivalent of covers if the Document is in electronic | |
1921 form. Otherwise they must appear on printed covers that bracket | |
1922 the whole aggregate. | |
1923 | |
1924 8. TRANSLATION | |
1925 | |
1926 Translation is considered a kind of modification, so you may | |
1927 distribute translations of the Document under the terms of section | |
1928 4. Replacing Invariant Sections with translations requires special | |
1929 permission from their copyright holders, but you may include | |
1930 translations of some or all Invariant Sections in addition to the | |
1931 original versions of these Invariant Sections. You may include a | |
1932 translation of this License, and all the license notices in the | |
1933 Document, and any Warranty Disclaimers, provided that you also | |
1934 include the original English version of this License and the | |
1935 original versions of those notices and disclaimers. In case of a | |
1936 disagreement between the translation and the original version of | |
1937 this License or a notice or disclaimer, the original version will | |
1938 prevail. | |
1939 | |
1940 If a section in the Document is Entitled "Acknowledgements", | |
1941 "Dedications", or "History", the requirement (section 4) to | |
1942 Preserve its Title (section 1) will typically require changing the | |
1943 actual title. | |
1944 | |
1945 9. TERMINATION | |
1946 | |
1947 You may not copy, modify, sublicense, or distribute the Document | |
1948 except as expressly provided under this License. Any attempt | |
1949 otherwise to copy, modify, sublicense, or distribute it is void, | |
1950 and will automatically terminate your rights under this License. | |
1951 | |
1952 However, if you cease all violation of this License, then your | |
1953 license from a particular copyright holder is reinstated (a) | |
1954 provisionally, unless and until the copyright holder explicitly and | |
1955 finally terminates your license, and (b) permanently, if the | |
1956 copyright holder fails to notify you of the violation by some | |
1957 reasonable means prior to 60 days after the cessation. | |
1958 | |
1959 Moreover, your license from a particular copyright holder is | |
1960 reinstated permanently if the copyright holder notifies you of the | |
1961 violation by some reasonable means, this is the first time you have | |
1962 received notice of violation of this License (for any work) from | |
1963 that copyright holder, and you cure the violation prior to 30 days | |
1964 after your receipt of the notice. | |
1965 | |
1966 Termination of your rights under this section does not terminate | |
1967 the licenses of parties who have received copies or rights from you | |
1968 under this License. If your rights have been terminated and not | |
1969 permanently reinstated, receipt of a copy of some or all of the | |
1970 same material does not give you any rights to use it. | |
1971 | |
1972 10. FUTURE REVISIONS OF THIS LICENSE | |
1973 | |
1974 The Free Software Foundation may publish new, revised versions of | |
1975 the GNU Free Documentation License from time to time. Such new | |
1976 versions will be similar in spirit to the present version, but may | |
1977 differ in detail to address new problems or concerns. See | |
1978 <http://www.gnu.org/copyleft/>. | |
1979 | |
1980 Each version of the License is given a distinguishing version | |
1981 number. If the Document specifies that a particular numbered | |
1982 version of this License "or any later version" applies to it, you | |
1983 have the option of following the terms and conditions either of | |
1984 that specified version or of any later version that has been | |
1985 published (not as a draft) by the Free Software Foundation. If the | |
1986 Document does not specify a version number of this License, you may | |
1987 choose any version ever published (not as a draft) by the Free | |
1988 Software Foundation. If the Document specifies that a proxy can | |
1989 decide which future versions of this License can be used, that | |
1990 proxy's public statement of acceptance of a version permanently | |
1991 authorizes you to choose that version for the Document. | |
1992 | |
1993 11. RELICENSING | |
1994 | |
1995 "Massive Multiauthor Collaboration Site" (or "MMC Site") means any | |
1996 World Wide Web server that publishes copyrightable works and also | |
1997 provides prominent facilities for anybody to edit those works. A | |
1998 public wiki that anybody can edit is an example of such a server. | |
1999 A "Massive Multiauthor Collaboration" (or "MMC") contained in the | |
2000 site means any set of copyrightable works thus published on the MMC | |
2001 site. | |
2002 | |
2003 "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 | |
2004 license published by Creative Commons Corporation, a not-for-profit | |
2005 corporation with a principal place of business in San Francisco, | |
2006 California, as well as future copyleft versions of that license | |
2007 published by that same organization. | |
2008 | |
2009 "Incorporate" means to publish or republish a Document, in whole or | |
2010 in part, as part of another Document. | |
2011 | |
2012 An MMC is "eligible for relicensing" if it is licensed under this | |
2013 License, and if all works that were first published under this | |
2014 License somewhere other than this MMC, and subsequently | |
2015 incorporated in whole or in part into the MMC, (1) had no cover | |
2016 texts or invariant sections, and (2) were thus incorporated prior | |
2017 to November 1, 2008. | |
2018 | |
2019 The operator of an MMC Site may republish an MMC contained in the | |
2020 site under CC-BY-SA on the same site at any time before August 1, | |
2021 2009, provided the MMC is eligible for relicensing. | |
2022 | |
2023 ADDENDUM: How to use this License for your documents | |
2024 ==================================================== | |
2025 | |
2026 To use this License in a document you have written, include a copy of | |
2027 the License in the document and put the following copyright and license | |
2028 notices just after the title page: | |
2029 | |
2030 Copyright (C) YEAR YOUR NAME. | |
2031 Permission is granted to copy, distribute and/or modify this document | |
2032 under the terms of the GNU Free Documentation License, Version 1.3 | |
2033 or any later version published by the Free Software Foundation; | |
2034 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover | |
2035 Texts. A copy of the license is included in the section entitled ``GNU | |
2036 Free Documentation License''. | |
2037 | |
2038 If you have Invariant Sections, Front-Cover Texts and Back-Cover | |
2039 Texts, replace the "with...Texts." line with this: | |
2040 | |
2041 with the Invariant Sections being LIST THEIR TITLES, with | |
2042 the Front-Cover Texts being LIST, and with the Back-Cover Texts | |
2043 being LIST. | |
2044 | |
2045 If you have Invariant Sections without Cover Texts, or some other | |
2046 combination of the three, merge those two alternatives to suit the | |
2047 situation. | |
2048 | |
2049 If your document contains nontrivial examples of program code, we | |
2050 recommend releasing these examples in parallel under your choice of free | |
2051 software license, such as the GNU General Public License, to permit | |
2052 their use in free software. | |
2053 | |
2054 | |
2055 | |
2056 Tag Table: | |
2057 Node: Top909 | |
2058 Node: Command Line Editing1431 | |
2059 Node: Introduction and Notation2085 | |
2060 Node: Readline Interaction3710 | |
2061 Node: Readline Bare Essentials4903 | |
2062 Node: Readline Movement Commands6694 | |
2063 Node: Readline Killing Commands7656 | |
2064 Node: Readline Arguments9579 | |
2065 Node: Searching10625 | |
2066 Node: Readline Init File12779 | |
2067 Node: Readline Init File Syntax13936 | |
2068 Node: Conditional Init Constructs37240 | |
2069 Node: Sample Init File41438 | |
2070 Node: Bindable Readline Commands44564 | |
2071 Node: Commands For Moving45620 | |
2072 Node: Commands For History47380 | |
2073 Node: Commands For Text52345 | |
2074 Node: Commands For Killing56049 | |
2075 Node: Numeric Arguments58764 | |
2076 Node: Commands For Completion59905 | |
2077 Node: Keyboard Macros61875 | |
2078 Node: Miscellaneous Commands62565 | |
2079 Node: Readline vi Mode66494 | |
2080 Node: GNU Free Documentation License67408 | |
2081 | |
2082 End Tag Table | |
2083 | |
2084 | |
2085 Local Variables: | |
2086 coding: utf-8 | |
2087 End: |