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