Offset 1, 935 lines modifiedOffset 1, 1001 lines modified
 1 .TH·EDITLINE·7·"April·6,·2024"·""
1 .\"»    $NetBSD:·editline.7,v·1.6·2024/04/06·13:36:11·christos·Exp·$ 
2 .\"»    $OpenBSD:·editline.7,v·1.1·2016/04/20·01:11:45·schwarze·Exp·$ 
3 .\" 
4 .\"·Copyright·(c)·2016·Ingo·Schwarze·<schwarze@openbsd.org> 
5 .\" 
6 .\"·Permission·to·use,·copy,·modify,·and·distribute·this·software·for·any 
7 .\"·purpose·with·or·without·fee·is·hereby·granted,·provided·that·the·above 
8 .\"·copyright·notice·and·this·permission·notice·appear·in·all·copies. 
9 .\" 
10 .\"·THE·SOFTWARE·IS·PROVIDED·"AS·IS"·AND·THE·AUTHOR·DISCLAIMS·ALL·WARRANTIES 
11 .\"·WITH·REGARD·TO·THIS·SOFTWARE·INCLUDING·ALL·IMPLIED·WARRANTIES·OF 
12 .\"·MERCHANTABILITY·AND·FITNESS.·IN·NO·EVENT·SHALL·THE·AUTHOR·BE·LIABLE·FOR 
13 .\"·ANY·SPECIAL,·DIRECT,·INDIRECT,·OR·CONSEQUENTIAL·DAMAGES·OR·ANY·DAMAGES 
14 .\"·WHATSOEVER·RESULTING·FROM·LOSS·OF·USE,·DATA·OR·PROFITS,·WHETHER·IN·AN 
15 .\"·ACTION·OF·CONTRACT,·NEGLIGENCE·OR·OTHER·TORTIOUS·ACTION,·ARISING·OUT·OF 
16 .\"·OR·IN·CONNECTION·WITH·THE·USE·OR·PERFORMANCE·OF·THIS·SOFTWARE. 
17 .\" 
18 .Dd·April·6,·2024 
19 .Dt·EDITLINE·7 
20 .Os 
21 .Sh·NAME2 .SH·NAME
22 .Nm·editline3 \fBeditline\fP
23 .Nd·line·editing·user·interface4 \-·line·editing·user·interface
24 .Sh·DESCRIPTION5 .SH·DESCRIPTION
25 When·a·program·using·the6 When·a·program·using·the
26 .Xr·editline·37 \fBeditline\fP(3)
27 library·prompts·for·an·input·string·using·the·function8 library·prompts·for·an·input·string·using·the·function
28 .Xr·el_wgets·3·,9 \fBel_wgets\fP(3),
29 it·reads·characters·from·the·terminal.10 it·reads·characters·from·the·terminal.
30 Invalid·input·bytes·that·do·not·form·characters·are·silently11 Invalid·input·bytes·that·do·not·form·characters·are·silently
31 discarded.12 discarded.
32 For·each·character·read,·one·editor·command·is·executed.13 For·each·character·read,·one·editor·command·is·executed.
33 The·mapping·of·input·characters·to·editor·commands·depends·on·the14 The·mapping·of·input·characters·to·editor·commands·depends·on·the
34 editing·mode.15 editing·mode.
35 There·are·three·editing·modes:·vi·insert·mode,·vi·command·mode,16 There·are·three·editing·modes:·vi·insert·mode,·vi·command·mode,
36 and·emacs·mode.17 and·emacs·mode.
37 The·default·is·vi·insert·mode.18 The·default·is·vi·insert·mode.
38 The·program·can·switch·the·default·to·emacs·mode·by·using·the19 The·program·can·switch·the·default·to·emacs·mode·by·using·the
39 .Xr·el_set·320 \fBel_set\fP(3)
40 or21 or
41 .Xr·el_parse·322 \fBel_parse\fP(3)
42 functions,·and·the·user·can·switch·to·emacs·mode·either·in·the23 functions,·and·the·user·can·switch·to·emacs·mode·either·in·the
43 .Xr·editrc·524 \fBeditrc\fP(5)
44 configuration·file·or·interactively·with·the25 configuration·file·or·interactively·with·the
45 .Ic·ed-command26 \fBed-command\fP
46 editor·command,·in·all·three·cases·executing·the27 editor·command,·in·all·three·cases·executing·the
47 .Ic·bind·Fl·e28 \fBbind·Fl·e\fP
48 builtin·command.29 builtin·command.
49 .Pp 
50 If·trying·to·read·from·the·terminal·results·in·end·of·file·or·an30 If·trying·to·read·from·the·terminal·results·in·end·of·file·or·an
51 error,·the·library·signals·end·of·file·to·the·program·and·does·not31 error,·the·library·signals·end·of·file·to·the·program·and·does·not
52 return·a·string.32 return·a·string.
53 .Ss·Input·character·bindings33 .SS·Input·character·bindings
54 All·default·bindings·described·below·can·be·overridden·by·individual34 All·default·bindings·described·below·can·be·overridden·by·individual
55 programs·and·can·be·changed·with·the35 programs·and·can·be·changed·with·the
56 .Xr·editrc·5 
57 .Ic·bind36 \fBeditrc\fP(5)
 37 \fBbind\fP
58 builtin·command.38 builtin·command.
59 .Pp 
60 In·the·following·tables,39 In·the·following·tables,
61 .Sq·Ctrl-40 `Ctrl-'
62 indicates·a·character·with·the·bit·0x40·flipped,·and41 indicates·a·character·with·the·bit·0x40·flipped,·and
63 .Sq·Meta-42 `Meta-'
64 indicates·a·character·with·the·bit·0x80·set.43 indicates·a·character·with·the·bit·0x80·set.
65 In·vi·insert·mode·and·in·emacs·mode,·all·Meta-characters·considered44 In·vi·insert·mode·and·in·emacs·mode,·all·Meta-characters·considered
66 printable·by·the·current45 printable·by·the·current
67 .Xr·locale·146 \fBlocale\fP(1)
68 are·bound·to47 are·bound·to
69 .Ic·ed-insert48 \fBed-insert\fP
70 instead·of·to·the·editor·command·listed·below.49 instead·of·to·the·editor·command·listed·below.
71 Consequently,·in·UTF-8·mode,·most·of·the·Meta-characters·are·not50 Consequently,·in·UTF-8·mode,·most·of·the·Meta-characters·are·not
72 directly·accessible·because·their·code·points·are·occupied·by51 directly·accessible·because·their·code·points·are·occupied·by
73 printable·Unicode·characters,·and·Meta-characters·are·usually·input52 printable·Unicode·characters,·and·Meta-characters·are·usually·input
74 using·the53 using·the
75 .Ic·em-meta-next54 \fBem-meta-next\fP
76 editor·command.55 editor·command.
77 For·example,·to·enter56 For·example,·to·enter
78 .Sq·Meta-B57 `Meta-B'
79 in·order·to·call·the58 in·order·to·call·the
80 .Ic·ed-prev-word59 \fBed-prev-word\fP
81 editor·command·in·emacs·mode,·call60 editor·command·in·emacs·mode,·call
82 .Ic·em-meta-next61 \fBem-meta-next\fP
83 by·pressing·and·releasing·the·escape·key·(or·equivalently,·Ctrl-[),62 by·pressing·and·releasing·the·escape·key·(or·equivalently,·Ctrl-[),
84 then·press·and·release·the63 then·press·and·release·the
85 .Sq·B64 `B'
86 key.65 key.
87 If·you·have·configured·a·Meta-key·on·your·keyboard,·for·example66 If·you·have·configured·a·Meta-key·on·your·keyboard,·for·example
88 with67 with
89 .Ql·setxkbmap·-option·altwin:left_meta_win·,68 `setxkbmap'·-option·altwin:left_meta_win·,
90 the·Ctrl-Meta-characters·are·directly·accessible.69 the·Ctrl-Meta-characters·are·directly·accessible.
91 For·example,·to·enter70 For·example,·to·enter
92 .Sq·Ctrl-Meta-H71 `Ctrl-Meta-H'
93 in·order·to·call·the72 in·order·to·call·the
94 .Ic·ed-delete-prev-word73 \fBed-delete-prev-word\fP
95 editor·command·in·emacs·mode,·hold·down·the·keys74 editor·command·in·emacs·mode,·hold·down·the·keys
96 .Sq·Ctrl·, 
97 .Sq·Meta·,75 `Ctrl',
 76 `Meta',
98 and77 and
99 .Sq·H78 `H'
100 at·the·same·time.79 at·the·same·time.
101 Alternatively,·press·and·release·the·escape·key,·then·press·and80 Alternatively,·press·and·release·the·escape·key,·then·press·and
102 release81 release
103 .Sq·Ctrl-H·. 
104 .Pp82 `Ctrl-H'.
  
105 In·vi·input·mode,·input·characters·are·bound·to·the·following·editor83 In·vi·input·mode,·input·characters·are·bound·to·the·following·editor
106 commands·by·default:84 commands·by·default:
107 .Bl·-column·-offset·indent·"Ctrl-Z,·TSTP"·"ed-search-next-history" 
108 .It·Ctrl-D,·EOF·Ta·Ic·vi-list-or-eof85 It·Ctrl-D,·EOF·Ta·\fBvi-list-or-eof\fP
109 .It·Ctrl-H,·BS·Ta·Ic·vi-delete-prev-char86 It·Ctrl-H,·BS·Ta·\fBvi-delete-prev-char\fP
110 .It·Ctrl-J,·LF·Ta·Ic·ed-newline87 It·Ctrl-J,·LF·Ta·\fBed-newline\fP
111 .It·Ctrl-M,·CR·Ta·Ic·ed-newline88 It·Ctrl-M,·CR·Ta·\fBed-newline\fP
112 .It·Ctrl-Q·Ta·Ic·ed-tty-start-output89 It·Ctrl-Q·Ta·\fBed-tty-start-output\fP
113 .It·Ctrl-S·Ta·Ic·ed-tty-stop-output90 It·Ctrl-S·Ta·\fBed-tty-stop-output\fP
114 .It·Ctrl-U·Ta·Ic·vi-kill-line-prev91 It·Ctrl-U·Ta·\fBvi-kill-line-prev\fP
115 .It·Ctrl-V·Ta·Ic·ed-quoted-insert92 It·Ctrl-V·Ta·\fBed-quoted-insert\fP
116 .It·Ctrl-W·Ta·Ic·ed-delete-prev-word93 It·Ctrl-W·Ta·\fBed-delete-prev-word\fP
117 .It·Ctrl-[,·ESC·Ta·Ic·vi-command-mode94 It·Ctrl-[,·ESC·Ta·\fBvi-command-mode\fP
118 .It·Ctrl-\e,·QUIT·Ta·Ic·ed-tty-sigquit95 It·Ctrl-\e,·QUIT·Ta·\fBed-tty-sigquit\fP
119 .It·Ctrl-?,·DEL·Ta·Ic·vi-delete-prev-char96 It·Ctrl-?,·DEL·Ta·\fBvi-delete-prev-char\fP
  
120 .El 
121 .Pp 
122 All·other·input·characters·except·the·NUL·character·(Ctrl-@)·are97 All·other·input·characters·except·the·NUL·character·(Ctrl-@)·are
123 bound·to98 bound·to
124 .Ic·ed-insert·. 
125 .Pp99 \fBed-insert\fP.
  
126 In·vi·command·mode,·input·characters·are·bound·to·the·following100 In·vi·command·mode,·input·characters·are·bound·to·the·following
127 editor·commands·by·default:101 editor·commands·by·default:
128 .Bl·-column·-offset·indent·"Ctrl-Z,·TSTP"·"ed-search-next-history" 
129 .It·Ctrl-A·Ta·Ic·ed-move-to-beg102 It·Ctrl-A·Ta·\fBed-move-to-beg\fP
130 .It·Ctrl-C,·INT·Ta·Ic·ed-tty-sigint103 It·Ctrl-C,·INT·Ta·\fBed-tty-sigint\fP
131 .It·Ctrl-E·Ta·Ic·ed-move-to-end104 It·Ctrl-E·Ta·\fBed-move-to-end\fP
132 .It·Ctrl-H,·BS·Ta·Ic·ed-delete-prev-char105 It·Ctrl-H,·BS·Ta·\fBed-delete-prev-char\fP
133 .It·Ctrl-J,·LF·Ta·Ic·ed-newline106 It·Ctrl-J,·LF·Ta·\fBed-newline\fP
134 .It·Ctrl-K·Ta·Ic·ed-kill-line107 It·Ctrl-K·Ta·\fBed-kill-line\fP
135 .It·Ctrl-L,·FF·Ta·Ic·ed-clear-screen108 It·Ctrl-L,·FF·Ta·\fBed-clear-screen\fP
136 .It·Ctrl-M,·CR·Ta·Ic·ed-newline109 It·Ctrl-M,·CR·Ta·\fBed-newline\fP
137 .It·Ctrl-N·Ta·Ic·ed-next-history110 It·Ctrl-N·Ta·\fBed-next-history\fP
138 .It·Ctrl-O·Ta·Ic·ed-tty-flush-output111 It·Ctrl-O·Ta·\fBed-tty-flush-output\fP
139 .It·Ctrl-P·Ta·Ic·ed-prev-history112 It·Ctrl-P·Ta·\fBed-prev-history\fP
140 .It·Ctrl-Q·Ta·Ic·ed-tty-start-output113 It·Ctrl-Q·Ta·\fBed-tty-start-output\fP
141 .It·Ctrl-R·Ta·Ic·ed-redisplay114 It·Ctrl-R·Ta·\fBed-redisplay\fP
142 .It·Ctrl-S·Ta·Ic·ed-tty-stop-output115 It·Ctrl-S·Ta·\fBed-tty-stop-output\fP
143 .It·Ctrl-U·Ta·Ic·vi-kill-line-prev116 It·Ctrl-U·Ta·\fBvi-kill-line-prev\fP
144 .It·Ctrl-W·Ta·Ic·ed-delete-prev-word117 It·Ctrl-W·Ta·\fBed-delete-prev-word\fP
145 .It·Ctrl-[,·ESC·Ta·Ic·em-meta-next118 It·Ctrl-[,·ESC·Ta·\fBem-meta-next\fP
146 .It·Ctrl-\e,·QUIT·Ta·Ic·ed-tty-sigquit119 It·Ctrl-\e,·QUIT·Ta·\fBed-tty-sigquit\fP
147 .It·Space·Ta·Ic·ed-next-char120 It·Space·Ta·\fBed-next-char\fP
148 .It·#·Ta·Ic·vi-comment-out121 It·#·Ta·\fBvi-comment-out\fP
149 .It·$·Ta·Ic·ed-move-to-end122 It·$·Ta·\fBed-move-to-end\fP
150 .It·%·Ta·Ic·vi-match123 It·%·Ta·\fBvi-match\fP
151 .It·+·Ta·Ic·ed-next-history124 It·+·Ta·\fBed-next-history\fP
152 .It·\&,·Ta·Ic·vi-repeat-prev-char125 It·\&,·Ta·\fBvi-repeat-prev-char\fP
153 .It·-·Ta·Ic·ed-prev-history126 It·-·Ta·\fBed-prev-history\fP
154 .It·\&.·Ta·Ic·vi-redo127 It·\&.·Ta·\fBvi-redo\fP
155 .It·/·Ta·Ic·vi-search-prev128 It·/·Ta·\fBvi-search-prev\fP
156 .It·0·Ta·Ic·vi-zero129 It·0·Ta·\fBvi-zero\fP
157 .It·1·to·9·Ta·Ic·ed-argument-digit130 It·1·to·9·Ta·\fBed-argument-digit\fP
158 .It·\&:·Ta·Ic·ed-command131 It·\&:·Ta·\fBed-command\fP
159 .It·\&;·Ta·Ic·vi-repeat-next-char132 It·\&;·Ta·\fBvi-repeat-next-char\fP
160 .It·\&?·Ta·Ic·vi-search-next133 It·\&?·Ta·\fBvi-search-next\fP
161 .It·@·Ta·Ic·vi-alias134 It·@·Ta·\fBvi-alias\fP
162 .It·A·Ta·Ic·vi-add-at-eol135 It·A·Ta·\fBvi-add-at-eol\fP
163 .It·B·Ta·Ic·vi-prev-big-word136 It·B·Ta·\fBvi-prev-big-word\fP
164 .It·C·Ta·Ic·vi-change-to-eol137 It·C·Ta·\fBvi-change-to-eol\fP
165 .It·D·Ta·Ic·ed-kill-line138 It·D·Ta·\fBed-kill-line\fP
166 .It·E·Ta·Ic·vi-end-big-word139 It·E·Ta·\fBvi-end-big-word\fP
167 .It·F·Ta·Ic·vi-prev-char140 It·F·Ta·\fBvi-prev-char\fP
168 .It·G·Ta·Ic·vi-to-history-line141 It·G·Ta·\fBvi-to-history-line\fP
169 .It·I·Ta·Ic·vi-insert-at-bol142 It·I·Ta·\fBvi-insert-at-bol\fP
170 .It·J·Ta·Ic·ed-search-next-history143 It·J·Ta·\fBed-search-next-history\fP
171 .It·K·Ta·Ic·ed-search-prev-history144 It·K·Ta·\fBed-search-prev-history\fP
172 .It·N·Ta·Ic·vi-repeat-search-prev145 It·N·Ta·\fBvi-repeat-search-prev\fP
173 .It·O·Ta·Ic·ed-sequence-lead-in146 It·O·Ta·\fBed-sequence-lead-in\fP
174 .It·P·Ta·Ic·vi-paste-prev147 It·P·Ta·\fBvi-paste-prev\fP
175 .It·R·Ta·Ic·vi-replace-mode148 It·R·Ta·\fBvi-replace-mode\fP
176 .It·S·Ta·Ic·vi-substitute-line149 It·S·Ta·\fBvi-substitute-line\fP
177 .It·T·Ta·Ic·vi-to-prev-char150 It·T·Ta·\fBvi-to-prev-char\fP
178 .It·U·Ta·Ic·vi-undo-line151 It·U·Ta·\fBvi-undo-line\fP
179 .It·W·Ta·Ic·vi-next-big-word152 It·W·Ta·\fBvi-next-big-word\fP
180 .It·X·Ta·Ic·ed-delete-prev-char153 It·X·Ta·\fBed-delete-prev-char\fP
181 .It·Y·Ta·Ic·vi-yank-end154 It·Y·Ta·\fBvi-yank-end\fP
182 .It·\&[·Ta·Ic·ed-sequence-lead-in155 It·\&[·Ta·\fBed-sequence-lead-in\fP
183 .It·^·Ta·Ic·ed-move-to-beg156 It·^·Ta·\fBed-move-to-beg\fP
184 .It·_·Ta·Ic·vi-history-word157 It·_·Ta·\fBvi-history-word\fP
185 .It·a·Ta·Ic·vi-add158 It·a·Ta·\fBvi-add\fP
186 .It·b·Ta·Ic·vi-prev-word159 It·b·Ta·\fBvi-prev-word\fP
187 .It·c·Ta·Ic·vi-change-meta160 It·c·Ta·\fBvi-change-meta\fP
188 .It·d·Ta·Ic·vi-delete-meta161 It·d·Ta·\fBvi-delete-meta\fP
189 .It·e·Ta·Ic·vi-end-word162 It·e·Ta·\fBvi-end-word\fP
190 .It·f·Ta·Ic·vi-next-char163 It·f·Ta·\fBvi-next-char\fP
191 .It·h·Ta·Ic·ed-prev-char164 It·h·Ta·\fBed-prev-char\fP
192 .It·i·Ta·Ic·vi-insert165 It·i·Ta·\fBvi-insert\fP
193 .It·j·Ta·Ic·ed-next-history166 It·j·Ta·\fBed-next-history\fP
194 .It·k·Ta·Ic·ed-prev-history167 It·k·Ta·\fBed-prev-history\fP
195 .It·l·Ta·Ic·ed-next-char168 It·l·Ta·\fBed-next-char\fP
196 .It·n·Ta·Ic·vi-repeat-search-next169 It·n·Ta·\fBvi-repeat-search-next\fP
197 .It·p·Ta·Ic·vi-paste-next170 It·p·Ta·\fBvi-paste-next\fP
198 .It·r·Ta·Ic·vi-replace-char171 It·r·Ta·\fBvi-replace-char\fP
199 .It·s·Ta·Ic·vi-substitute-char172 It·s·Ta·\fBvi-substitute-char\fP
200 .It·t·Ta·Ic·vi-to-next-char173 It·t·Ta·\fBvi-to-next-char\fP
201 .It·u·Ta·Ic·vi-undo174 It·u·Ta·\fBvi-undo\fP
202 .It·v·Ta·Ic·vi-histedit175 It·v·Ta·\fBvi-histedit\fP
203 .It·w·Ta·Ic·vi-next-word176 It·w·Ta·\fBvi-next-word\fP
204 .It·x·Ta·Ic·ed-delete-next-char177 It·x·Ta·\fBed-delete-next-char\fP
205 .It·y·Ta·Ic·vi-yank178 It·y·Ta·\fBvi-yank\fP
206 .It·\&|·Ta·Ic·vi-to-column179 It·\&|·Ta·\fBvi-to-column\fP
207 .It·~·Ta·Ic·vi-change-case180 It·~·Ta·\fBvi-change-case\fP
208 .It·Ctrl-?,·DEL·Ta·Ic·ed-delete-prev-char181 It·Ctrl-?,·DEL·Ta·\fBed-delete-prev-char\fP
209 .It·Meta-O·Ta·Ic·ed-sequence-lead-in182 It·Meta-O·Ta·\fBed-sequence-lead-in\fP
210 .It·Meta-[·Ta·Ic·ed-sequence-lead-in183 It·Meta-[·Ta·\fBed-sequence-lead-in\fP
  
211 .El 
212 .Pp 
213 In·emacs·mode,·input·characters·are·bound·to·the·following·editor184 In·emacs·mode,·input·characters·are·bound·to·the·following·editor
214 commands·by·default:185 commands·by·default:
215 .Bl·-column·-offset·indent·"Ctrl-Z,·TSTP"·"ed-search-next-history" 
216 .It·0·to·9·Ta·Ic·ed-digit186 It·0·to·9·Ta·\fBed-digit\fP
217 .It·Ctrl-@,·NUL·Ta·Ic·em-set-mark187 It·Ctrl-@,·NUL·Ta·\fBem-set-mark\fP
218 .It·Ctrl-A·Ta·Ic·ed-move-to-beg188 It·Ctrl-A·Ta·\fBed-move-to-beg\fP
219 .It·Ctrl-B·Ta·Ic·ed-prev-char189 It·Ctrl-B·Ta·\fBed-prev-char\fP
220 .It·Ctrl-C,·INT·Ta·Ic·ed-tty-sigint190 It·Ctrl-C,·INT·Ta·\fBed-tty-sigint\fP
221 .It·Ctrl-D,·EOF·Ta·Ic·em-delete-or-list191 It·Ctrl-D,·EOF·Ta·\fBem-delete-or-list\fP
222 .It·Ctrl-E·Ta·Ic·ed-move-to-end192 It·Ctrl-E·Ta·\fBed-move-to-end\fP
223 .It·Ctrl-F·Ta·Ic·ed-next-char193 It·Ctrl-F·Ta·\fBed-next-char\fP
224 .It·Ctrl-H,·BS·Ta·Ic·em-delete-prev-char194 It·Ctrl-H,·BS·Ta·\fBem-delete-prev-char\fP
225 .It·Ctrl-J,·LF·Ta·Ic·ed-newline195 It·Ctrl-J,·LF·Ta·\fBed-newline\fP
226 .It·Ctrl-K·Ta·Ic·ed-kill-line196 It·Ctrl-K·Ta·\fBed-kill-line\fP
227 .It·Ctrl-L,·FF·Ta·Ic·ed-clear-screen197 It·Ctrl-L,·FF·Ta·\fBed-clear-screen\fP
228 .It·Ctrl-M,·CR·Ta·Ic·ed-newline198 It·Ctrl-M,·CR·Ta·\fBed-newline\fP
229 .It·Ctrl-N·Ta·Ic·ed-next-history199 It·Ctrl-N·Ta·\fBed-next-history\fP
230 .It·Ctrl-O·Ta·Ic·ed-tty-flush-output200 It·Ctrl-O·Ta·\fBed-tty-flush-output\fP
231 .It·Ctrl-P·Ta·Ic·ed-prev-history201 It·Ctrl-P·Ta·\fBed-prev-history\fP
232 .It·Ctrl-Q·Ta·Ic·ed-tty-start-output202 It·Ctrl-Q·Ta·\fBed-tty-start-output\fP
233 .It·Ctrl-R·Ta·Ic·ed-redisplay203 It·Ctrl-R·Ta·\fBed-redisplay\fP
234 .It·Ctrl-S·Ta·Ic·ed-tty-stop-output204 It·Ctrl-S·Ta·\fBed-tty-stop-output\fP
235 .It·Ctrl-T·Ta·Ic·ed-transpose-chars205 It·Ctrl-T·Ta·\fBed-transpose-chars\fP
236 .It·Ctrl-U·Ta·Ic·ed-kill-line206 It·Ctrl-U·Ta·\fBed-kill-line\fP
237 .It·Ctrl-V·Ta·Ic·ed-quoted-insert207 It·Ctrl-V·Ta·\fBed-quoted-insert\fP
238 .It·Ctrl-W·Ta·Ic·em-kill-region208 It·Ctrl-W·Ta·\fBem-kill-region\fP
239 .It·Ctrl-X·Ta·Ic·ed-sequence-lead-in209 It·Ctrl-X·Ta·\fBed-sequence-lead-in\fP
240 .It·Ctrl-Y·Ta·Ic·em-yank210 It·Ctrl-Y·Ta·\fBem-yank\fP
241 .It·Ctrl-Z,·TSTP·Ta·Ic·ed-tty-sigtstp211 It·Ctrl-Z,·TSTP·Ta·\fBed-tty-sigtstp\fP
242 .It·Ctrl-[,·ESC·Ta·Ic·em-meta-next212 It·Ctrl-[,·ESC·Ta·\fBem-meta-next\fP
243 .It·Ctrl-\e,·QUIT·Ta·Ic·ed-tty-sigquit213 It·Ctrl-\e,·QUIT·Ta·\fBed-tty-sigquit\fP
244 .It·Ctrl-]·Ta·Ic·ed-tty-dsusp214 It·Ctrl-]·Ta·\fBed-tty-dsusp\fP
245 .It·Ctrl-?,·DEL·Ta·Ic·em-delete-prev-char215 It·Ctrl-?,·DEL·Ta·\fBem-delete-prev-char\fP
246 .It·Ctrl-Meta-H·Ta·Ic·ed-delete-prev-word216 It·Ctrl-Meta-H·Ta·\fBed-delete-prev-word\fP
247 .It·Ctrl-Meta-L·Ta·Ic·ed-clear-screen217 It·Ctrl-Meta-L·Ta·\fBed-clear-screen\fP
248 .It·Ctrl-Meta-_·Ta·Ic·em-copy-prev-word218 It·Ctrl-Meta-_·Ta·\fBem-copy-prev-word\fP
249 .It·Meta-0·to·9·Ta·Ic·ed-argument-digit219 It·Meta-0·to·9·Ta·\fBed-argument-digit\fP
250 .It·Meta-B·Ta·Ic·ed-prev-word220 It·Meta-B·Ta·\fBed-prev-word\fP
251 .It·Meta-C·Ta·Ic·em-capitol-case221 It·Meta-C·Ta·\fBem-capitol-case\fP
252 .It·Meta-D·Ta·Ic·em-delete-next-word222 It·Meta-D·Ta·\fBem-delete-next-word\fP
253 .It·Meta-F·Ta·Ic·em-next-word223 It·Meta-F·Ta·\fBem-next-word\fP
254 .It·Meta-L·Ta·Ic·em-lower-case224 It·Meta-L·Ta·\fBem-lower-case\fP
255 .It·Meta-N·Ta·Ic·ed-search-next-history225 It·Meta-N·Ta·\fBed-search-next-history\fP
256 .It·Meta-O·Ta·Ic·ed-sequence-lead-in226 It·Meta-O·Ta·\fBed-sequence-lead-in\fP
257 .It·Meta-P·Ta·Ic·ed-search-prev-history227 It·Meta-P·Ta·\fBed-search-prev-history\fP
258 .It·Meta-U·Ta·Ic·em-upper-case228 It·Meta-U·Ta·\fBem-upper-case\fP
259 .It·Meta-W·Ta·Ic·em-copy-region229 It·Meta-W·Ta·\fBem-copy-region\fP
260 .It·Meta-X·Ta·Ic·ed-command230 It·Meta-X·Ta·\fBed-command\fP
261 .It·Meta-[·Ta·Ic·ed-sequence-lead-in231 It·Meta-[·Ta·\fBed-sequence-lead-in\fP
262 .It·Meta-b·Ta·Ic·ed-prev-word232 It·Meta-b·Ta·\fBed-prev-word\fP
263 .It·Meta-c·Ta·Ic·em-capitol-case233 It·Meta-c·Ta·\fBem-capitol-case\fP
264 .It·Meta-d·Ta·Ic·em-delete-next-word234 It·Meta-d·Ta·\fBem-delete-next-word\fP
265 .It·Meta-f·Ta·Ic·em-next-word235 It·Meta-f·Ta·\fBem-next-word\fP
266 .It·Meta-l·Ta·Ic·em-lower-case236 It·Meta-l·Ta·\fBem-lower-case\fP
267 .It·Meta-n·Ta·Ic·ed-search-next-history237 It·Meta-n·Ta·\fBed-search-next-history\fP
268 .It·Meta-p·Ta·Ic·ed-search-prev-history238 It·Meta-p·Ta·\fBed-search-prev-history\fP
269 .It·Meta-u·Ta·Ic·em-upper-case239 It·Meta-u·Ta·\fBem-upper-case\fP
270 .It·Meta-w·Ta·Ic·em-copy-region240 It·Meta-w·Ta·\fBem-copy-region\fP
271 .It·Meta-x·Ta·Ic·ed-command241 It·Meta-x·Ta·\fBed-command\fP
272 .It·Ctrl-Meta-?·Ta·Ic·ed-delete-prev-word242 It·Ctrl-Meta-?·Ta·\fBed-delete-prev-word\fP
  
273 .El 
274 .Pp 
275 The·remaining243 The·remaining
276 .Xr·ascii·7244 \fBascii\fP(7)
277 characters·in·the·range·0x20·to·0x7e·are·bound·to245 characters·in·the·range·0x20·to·0x7e·are·bound·to
278 .Ic·ed-insert·. 
279 .Pp246 \fBed-insert\fP.
  
280 If·standard·output·is·not·connected·to·a·terminal·device247 If·standard·output·is·not·connected·to·a·terminal·device
281 or248 or
282 .Xr·el_set·3249 \fBel_set\fP(3)
283 was·used·to·set250 was·used·to·set
284 .Dv·EL_EDITMODE251 EL_EDITMODE
285 to·0,·all·input·character·bindings·are·disabled·and·all·characters252 to·0,·all·input·character·bindings·are·disabled·and·all·characters
286 typed·are·appended·to·the·edit·buffer.253 typed·are·appended·to·the·edit·buffer.
287 In·that·case,·the·edit·buffer·is·returned·to·the·program·after·a254 In·that·case,·the·edit·buffer·is·returned·to·the·program·after·a
288 newline·or·carriage·return·character·is·typed,·or·after·the·first255 newline·or·carriage·return·character·is·typed,·or·after·the·first
289 character·typed·if256 character·typed·if
290 .Xr·el_set·3257 \fBel_set\fP(3)
291 was·used·to·set258 was·used·to·set
292 .Dv·EL_UNBUFFERED259 EL_UNBUFFERED
293 to·non-zero.260 to·non-zero.
294 .Ss·Editor·commands261 .SS·Editor·commands
295 Most·editor·commands·accept·an·optional·argument.262 Most·editor·commands·accept·an·optional·argument.
296 The·argument·is·entered·by·prefixing·the·editor·command·with·one263 The·argument·is·entered·by·prefixing·the·editor·command·with·one
297 or·more·of·the·editor·commands264 or·more·of·the·editor·commands
298 .Ic·ed-argument-digit·,265 \fBed-argument-digit\fP,
299 .Ic·ed-digit·,266 \fBed-digit\fP,
300 .Ic·em-universal-argument·,267 \fBem-universal-argument\fP,
301 or268 or
302 .Ic·vi-zero·.269 \fBvi-zero\fP.
303 When·an·argument·is·not·provided,·it·defaults·to·1.270 When·an·argument·is·not·provided,·it·defaults·to·1.
304 For·most·editor·commands,·the·effect·of·an·argument·is·to·repeatedly271 For·most·editor·commands,·the·effect·of·an·argument·is·to·repeatedly
305 execute·the·command·that·number·of·times.272 execute·the·command·that·number·of·times.
306 .Pp 
307 When·talking·about·a·character·string·from·a·left·character·to·a273 When·talking·about·a·character·string·from·a·left·character·to·a
308 right·character,·the·left·character·is·included·in·the·string,·while274 right·character,·the·left·character·is·included·in·the·string,·while
309 the·right·character·is·not·included.275 the·right·character·is·not·included.
310 .Pp 
311 If·an·editor·command·causes·an·error,·the·input·character·is·discarded,276 If·an·editor·command·causes·an·error,·the·input·character·is·discarded,
312 no·action·occurs,·and·the·terminal·bell·is·rung.277 no·action·occurs,·and·the·terminal·bell·is·rung.
313 In·case·of·a·non-fatal·error,·the·terminal·bell·is·also·rung,278 In·case·of·a·non-fatal·error,·the·terminal·bell·is·also·rung,
314 but·the·editor·command·takes·effect·anyway.279 but·the·editor·command·takes·effect·anyway.
315 .Pp 
316 In·the·following·list,·the·default·key·bindings·are·listed·after280 In·the·following·list,·the·default·key·bindings·are·listed·after
317 each·editor·command.281 each·editor·command.
318 .Bl·-tag·-width·4n282 .TP
319 .It·Ic·ed-argument-digit·Pq·vi·command:·1·to·9;·emacs:·Meta-0·to·Meta-9283 \fBed-argument-digit·Pq·vi·command:·1·to·9;·emacs:·Meta-0·to·Meta-9\fP
320 If·in·argument·input·mode,·append·the·input·digit·to·the·argument284 If·in·argument·input·mode,·append·the·input·digit·to·the·argument
321 being·read.285 being·read.
322 Otherwise,·switch·to·argument·input·mode·and·use·the·input·digit286 Otherwise,·switch·to·argument·input·mode·and·use·the·input·digit
323 as·the·most·significant·digit·of·the·argument.287 as·the·most·significant·digit·of·the·argument.
324 It·is·an·error·if·the·input·character·is·not·a·digit·or·if·the288 It·is·an·error·if·the·input·character·is·not·a·digit·or·if·the
325 existing·argument·is·already·greater·than·a·million.289 existing·argument·is·already·greater·than·a·million.
 290 .TP
326 .It·Ic·ed-clear-screen·Pq·vi·command:·Ctrl-L;·emacs:·Ctrl-L,·Ctrl-Meta-L291 \fBed-clear-screen·Pq·vi·command:·Ctrl-L;·emacs:·Ctrl-L,·Ctrl-Meta-L\fP
327 Clear·the·screen·and·display·the·edit·buffer·at·the·top.292 Clear·the·screen·and·display·the·edit·buffer·at·the·top.
328 Ignore·any·argument.293 Ignore·any·argument.
 294 .TP
329 .It·Ic·ed-command·Pq·vi·command:·So·\&:·Sc·;·emacs:·Meta-X,·Meta-x295 \fBed-command·Pq·vi·command:·So·\&:·Sc·;·emacs:·Meta-X,·Meta-x\fP
330 Read·a·line·from·the·terminal·bypassing·the·normal·line·editing296 Read·a·line·from·the·terminal·bypassing·the·normal·line·editing
331 functionality·and·execute·that·line·as·an297 functionality·and·execute·that·line·as·an
332 .Xr·editrc·5298 \fBeditrc\fP(5)
333 builtin·command.299 builtin·command.
334 If·in·vi·command·mode,·also·switch·back·to·vi·insert·mode.300 If·in·vi·command·mode,·also·switch·back·to·vi·insert·mode.
335 Ignore·any·argument.301 Ignore·any·argument.
 302 .TP
336 .It·Ic·ed-delete-next-char·Pq·vi·command:·x303 \fBed-delete-next-char·Pq·vi·command:·x\fP
337 Delete·the·character·at·the·cursor·position.304 Delete·the·character·at·the·cursor·position.
338 With·an·argument,·delete·that·number·of·characters.305 With·an·argument,·delete·that·number·of·characters.
339 In·emacs·mode,·it·is·an·error·if·the·cursor·is·at·the·end·of·the306 In·emacs·mode,·it·is·an·error·if·the·cursor·is·at·the·end·of·the
340 edit·buffer.307 edit·buffer.
341 In·vi·mode,·the·last·character·in·the·edit·buffer·is·deleted·in308 In·vi·mode,·the·last·character·in·the·edit·buffer·is·deleted·in
342 that·case,·and·it·is·an·error·if·the·buffer·is·empty.309 that·case,·and·it·is·an·error·if·the·buffer·is·empty.
 310 .TP
343 .It·Ic·ed-delete-prev-char·Pq·vi·command:·X,·Ctrl-H,·BS,·Ctrl-?,·DEL311 \fBed-delete-prev-char·Pq·vi·command:·X,·Ctrl-H,·BS,·Ctrl-?,·DEL\fP
344 Delete·the·character·to·the·left·of·the·cursor·position.312 Delete·the·character·to·the·left·of·the·cursor·position.
345 With·an·argument,·delete·that·number·of·characters.313 With·an·argument,·delete·that·number·of·characters.
346 It·is·an·error·if·the·cursor·is·at·the·beginning·of·the·edit·buffer.314 It·is·an·error·if·the·cursor·is·at·the·beginning·of·the·edit·buffer.
 315 .TP
347 .It·Ic·ed-delete-prev-word·Pq·vi:·Ctrl-W;·emacs:·Ctrl-Meta-H,·Ctrl-Meta-?316 \fBed-delete-prev-word·Pq·vi:·Ctrl-W;·emacs:·Ctrl-Meta-H,·Ctrl-Meta-?\fP
348 Move·to·the·left·to·the·closest·beginning·of·a·word,·delete·the317 Move·to·the·left·to·the·closest·beginning·of·a·word,·delete·the
349 string·from·that·position·to·the·cursor,·and·save·it·to·the·cut318 string·from·that·position·to·the·cursor,·and·save·it·to·the·cut
350 buffer.319 buffer.
351 With·an·argument,·delete·that·number·of·words.320 With·an·argument,·delete·that·number·of·words.
352 It·is·an·error·if·the·cursor·is·at·the·beginning·of·the·edit·buffer.321 It·is·an·error·if·the·cursor·is·at·the·beginning·of·the·edit·buffer.
 322 .TP
353 .It·Ic·ed-digit·Pq·emacs:·0·to·9323 \fBed-digit·Pq·emacs:·0·to·9\fP
354 If·in·argument·input·mode,·append·the·input·digit·to·the·argument324 If·in·argument·input·mode,·append·the·input·digit·to·the·argument
355 being·read.325 being·read.
356 Otherwise,·call326 Otherwise,·call
357 .Ic·ed-insert·.327 \fBed-insert\fP.
358 It·is·an·error·if·the·input·character·is·not·a·digit·or·if·the328 It·is·an·error·if·the·input·character·is·not·a·digit·or·if·the
359 existing·argument·is·already·greater·than·a·million.329 existing·argument·is·already·greater·than·a·million.
 330 .TP
360 .It·Ic·ed-end-of-file·Pq·not·bound·by·default331 \fBed-end-of-file·Pq·not·bound·by·default\fP
361 Discard·the·edit·buffer·and·indicate·end·of·file·to·the·program.332 Discard·the·edit·buffer·and·indicate·end·of·file·to·the·program.
362 Ignore·any·argument.333 Ignore·any·argument.
 334 .TP
363 .It·Ic·ed-ignore·Pq·various335 \fBed-ignore·Pq·various\fP
364 Discard·the·input·character·and·do·nothing.336 Discard·the·input·character·and·do·nothing.
 337 .TP
365 .It·Ic·ed-insert·Pq·vi·input:·almost·all;·emacs:·printable·characters338 \fBed-insert·Pq·vi·input:·almost·all;·emacs:·printable·characters\fP
366 In·insert·mode,·insert·the·input·character·left·of·the·cursor339 In·insert·mode,·insert·the·input·character·left·of·the·cursor
367 position.340 position.
368 In·replace·mode,·overwrite·the·character·at·the·cursor·and·move·the341 In·replace·mode,·overwrite·the·character·at·the·cursor·and·move·the
369 cursor·to·the·right·by·one·character·position.342 cursor·to·the·right·by·one·character·position.
370 Accept·an·argument·to·do·this·repeatedly.343 Accept·an·argument·to·do·this·repeatedly.
371 It·is·an·error·if·the·input·character·is·the·NUL·character·(Ctrl-@).344 It·is·an·error·if·the·input·character·is·the·NUL·character·(Ctrl-@).
372 Failure·to·enlarge·the·edit·buffer·also·results·in·an·error.345 Failure·to·enlarge·the·edit·buffer·also·results·in·an·error.
 346 .TP
373 .It·Ic·ed-kill-line·Pq·vi·command:·D,·Ctrl-K;·emacs:·Ctrl-K,·Ctrl-U347 \fBed-kill-line·Pq·vi·command:·D,·Ctrl-K;·emacs:·Ctrl-K,·Ctrl-U\fP
374 Delete·the·string·from·the·cursor·position·to·the·end·of·the·line348 Delete·the·string·from·the·cursor·position·to·the·end·of·the·line
375 and·save·it·to·the·cut·buffer.349 and·save·it·to·the·cut·buffer.
376 Ignore·any·argument.350 Ignore·any·argument.
 351 .TP
377 .It·Ic·ed-move-to-beg·Pq·vi·command:·^,·Ctrl-A;·emacs:·Ctrl-A352 \fBed-move-to-beg·Pq·vi·command:·^,·Ctrl-A;·emacs:·Ctrl-A\fP
378 In·vi·mode,·move·the·cursor·to·the·first·non-space·character·in·the353 In·vi·mode,·move·the·cursor·to·the·first·non-space·character·in·the
379 edit·buffer.354 edit·buffer.
380 In·emacs·mode,·move·the·cursor·to·the·beginning·of·the·edit·buffer.355 In·emacs·mode,·move·the·cursor·to·the·beginning·of·the·edit·buffer.
381 Ignore·any·argument.356 Ignore·any·argument.
382 Can·be·used·as·a·movement·command·after357 Can·be·used·as·a·movement·command·after
383 .Ic·vi_change_meta·, 
384 .Ic·vi_delete_meta·,358 \fBvi_change_meta\fP,
 359 \fBvi_delete_meta\fP,
385 or360 or
386 .Ic·vi_yank·.361 \fBvi_yank\fP.
 362 .TP
387 .It·Ic·ed-move-to-end·Pq·vi·command:·$,·Ctrl-E;·emacs:·Ctrl-E363 \fBed-move-to-end·Pq·vi·command:·$,·Ctrl-E;·emacs:·Ctrl-E\fP
388 Move·the·cursor·to·the·end·of·the·edit·buffer.364 Move·the·cursor·to·the·end·of·the·edit·buffer.
389 Ignore·any·argument.365 Ignore·any·argument.
390 Can·be·used·as·a·movement·command·after366 Can·be·used·as·a·movement·command·after
391 .Ic·vi_change_meta·, 
392 .Ic·vi_delete_meta·,367 \fBvi_change_meta\fP,
 368 \fBvi_delete_meta\fP,
393 or369 or
394 .Ic·vi_yank·.370 \fBvi_yank\fP.
 371 .TP
395 .It·Ic·ed-newline·Pq·all·modes:·Ctrl-J,·LF,·Ctrl-M,·CR372 \fBed-newline·Pq·all·modes:·Ctrl-J,·LF,·Ctrl-M,·CR\fP
396 Append·a·newline·character·to·the·edit·buffer·and·return·the·edit373 Append·a·newline·character·to·the·edit·buffer·and·return·the·edit
397 buffer·to·the·program.374 buffer·to·the·program.
398 Ignore·any·argument.375 Ignore·any·argument.
 376 .TP
399 .It·Ic·ed-next-char·Pq·vi·command:·Space,·l;·emacs:·Ctrl-F377 \fBed-next-char·Pq·vi·command:·Space,·l;·emacs:·Ctrl-F\fP
400 Move·the·cursor·one·character·position·to·the·right.378 Move·the·cursor·one·character·position·to·the·right.
401 With·an·argument,·move·by·that·number·of·characters.379 With·an·argument,·move·by·that·number·of·characters.
402 Can·be·used·as·a·movement·command·after380 Can·be·used·as·a·movement·command·after
403 .Ic·vi_change_meta·, 
404 .Ic·vi_delete_meta·,381 \fBvi_change_meta\fP,
 382 \fBvi_delete_meta\fP,
405 or383 or
406 .Ic·vi_yank·.384 \fBvi_yank\fP.
407 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit385 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit
408 buffer.386 buffer.
 387 .TP
409 .It·Ic·ed-next-history·Pq·vi·command:·j,·+,·Ctrl-N;·emacs:·Ctrl-N388 \fBed-next-history·Pq·vi·command:·j,·+,·Ctrl-N;·emacs:·Ctrl-N\fP
410 Replace·the·edit·buffer·with·the·next·history·line.389 Replace·the·edit·buffer·with·the·next·history·line.
411 That·line·is·older·than·the·current·line.390 That·line·is·older·than·the·current·line.
412 With·an·argument,·go·forward·by·that·number·of·history·lines.391 With·an·argument,·go·forward·by·that·number·of·history·lines.
413 It·is·a·non-fatal·error·to·advance·by·more·lines·than·are·available.392 It·is·a·non-fatal·error·to·advance·by·more·lines·than·are·available.
 393 .TP
414 .It·Ic·ed-next-line·Pq·not·bound·by·default394 \fBed-next-line·Pq·not·bound·by·default\fP
415 Move·the·cursor·down·one·line.395 Move·the·cursor·down·one·line.
416 With·an·argument,·move·down·by·that·number·of·lines.396 With·an·argument,·move·down·by·that·number·of·lines.
417 It·is·an·error·if·the·edit·buffer·does·not·contain·enough·newline397 It·is·an·error·if·the·edit·buffer·does·not·contain·enough·newline
418 characters·to·the·right·of·the·cursor·position.398 characters·to·the·right·of·the·cursor·position.
 399 .TP
419 .It·Ic·ed-prev-char·Pq·vi·command:·h;·emacs:·Ctrl-B400 \fBed-prev-char·Pq·vi·command:·h;·emacs:·Ctrl-B\fP
420 Move·the·cursor·one·character·position·to·the·left.401 Move·the·cursor·one·character·position·to·the·left.
421 With·an·argument,·move·by·that·number·of·characters.402 With·an·argument,·move·by·that·number·of·characters.
422 Can·be·used·as·a·movement·command·after403 Can·be·used·as·a·movement·command·after
423 .Ic·vi_change_meta·, 
424 .Ic·vi_delete_meta·,404 \fBvi_change_meta\fP,
 405 \fBvi_delete_meta\fP,
425 or406 or
426 .Ic·vi_yank·.407 \fBvi_yank\fP.
427 It·is·an·error·if·the·cursor·is·already·at·the·beginning·of·the408 It·is·an·error·if·the·cursor·is·already·at·the·beginning·of·the
428 edit·buffer.409 edit·buffer.
 410 .TP
429 .It·Ic·ed-prev-history·Pq·vi·command:·k,·-,·Ctrl-P;·emacs:·Ctrl-P411 \fBed-prev-history·Pq·vi·command:·k,·-,·Ctrl-P;·emacs:·Ctrl-P\fP
430 Replace·the·edit·buffer·with·the·previous·history·line.412 Replace·the·edit·buffer·with·the·previous·history·line.
431 That·line·is·newer·than·the·current·line.413 That·line·is·newer·than·the·current·line.
432 With·an·argument,·go·back·by·that·number·of·lines.414 With·an·argument,·go·back·by·that·number·of·lines.
433 It·is·a·non-fatal·error·to·back·up·by·more·lines·than·are·available.415 It·is·a·non-fatal·error·to·back·up·by·more·lines·than·are·available.
 416 .TP
434 .It·Ic·ed-prev-line·Pq·not·bound·by·default417 \fBed-prev-line·Pq·not·bound·by·default\fP
435 Move·the·cursor·up·one·line.418 Move·the·cursor·up·one·line.
436 With·an·argument,·move·up·by·that·number·of·lines.419 With·an·argument,·move·up·by·that·number·of·lines.
437 It·is·an·error·if·the·edit·buffer·does·not·contain·enough·newline420 It·is·an·error·if·the·edit·buffer·does·not·contain·enough·newline
438 characters·to·the·left·of·the·cursor·position.421 characters·to·the·left·of·the·cursor·position.
 422 .TP
439 .It·Ic·ed-prev-word·Pq·emacs:·Meta-B,·Meta-b423 \fBed-prev-word·Pq·emacs:·Meta-B,·Meta-b\fP
440 Move·the·cursor·to·the·left·to·the·closest·beginning·of·a·word.424 Move·the·cursor·to·the·left·to·the·closest·beginning·of·a·word.
441 With·an·argument,·repeat·that·number·of·times.425 With·an·argument,·repeat·that·number·of·times.
442 Can·be·used·as·a·movement·command·after426 Can·be·used·as·a·movement·command·after
443 .Ic·vi_change_meta·, 
444 .Ic·vi_delete_meta·,427 \fBvi_change_meta\fP,
 428 \fBvi_delete_meta\fP,
445 or429 or
446 .Ic·vi_yank·.430 \fBvi_yank\fP.
447 It·is·an·error·if·the·cursor·is·already·at·the·beginning·of·the431 It·is·an·error·if·the·cursor·is·already·at·the·beginning·of·the
448 edit·buffer.432 edit·buffer.
 433 .TP
449 .It·Ic·ed-quoted-insert·Pq·vi·insert,·emacs:·Ctrl-V434 \fBed-quoted-insert·Pq·vi·insert,·emacs:·Ctrl-V\fP
450 Read·one·character·from·the·terminal·bypassing·the·normal·line435 Read·one·character·from·the·terminal·bypassing·the·normal·line
451 editing·functionality·and·call436 editing·functionality·and·call
452 .Ic·ed-insert437 \fBed-insert\fP
453 on·it.438 on·it.
454 If·trying·to·read·the·character·returns·end·of·file·or·an·error,439 If·trying·to·read·the·character·returns·end·of·file·or·an·error,
455 call440 call
456 .Ic·ed-end-of-file441 \fBed-end-of-file\fP
457 instead.442 instead.
 443 .TP
458 .It·Ic·ed-redisplay·Pq·vi·command,·emacs:·Ctrl-R444 \fBed-redisplay·Pq·vi·command,·emacs:·Ctrl-R\fP
459 Redisplay·everything.445 Redisplay·everything.
460 Ignore·any·argument.446 Ignore·any·argument.
 447 .TP
461 .It·Ic·ed-search-next-history·Pq·vi·command:·J;·emacs:·Meta-N,·Meta-n448 \fBed-search-next-history·Pq·vi·command:·J;·emacs:·Meta-N,·Meta-n\fP
462 Replace·the·edit·buffer·with·the·next·matching·history·entry.449 Replace·the·edit·buffer·with·the·next·matching·history·entry.
 450 .TP
463 .It·Ic·ed-search-prev-history·Pq·vi·command:·K;·emacs:·Meta-P,·Meta-p451 \fBed-search-prev-history·Pq·vi·command:·K;·emacs:·Meta-P,·Meta-p\fP
464 Replace·the·edit·buffer·with·the·previous·matching·history·entry.452 Replace·the·edit·buffer·with·the·previous·matching·history·entry.
 453 .TP
465 .It·Ic·ed-sequence-lead-in·Pq·vi·cmd:·O,·\&[;·emacs:·Ctrl-X;\454 \fBed-sequence-lead-in·Pq·vi·cmd:·O,·\&[;·emacs:·Ctrl-X;\\fP
466 ·both:·Meta-O,·Meta-[455 ·both:·Meta-O,·Meta-[
467 Call·a·macro.456 Call·a·macro.
468 See·the·section·about457 See·the·section·about
469 .Sx·Macros458 .B·Macros
470 below·for·details.459 below·for·details.
 460 .TP
471 .It·Ic·ed-start-over·Pq·not·bound·by·default461 \fBed-start-over·Pq·not·bound·by·default\fP
472 Discard·the·contents·of·the·edit·buffer·and·start·from·scratch.462 Discard·the·contents·of·the·edit·buffer·and·start·from·scratch.
473 Ignore·any·argument.463 Ignore·any·argument.
 464 .TP
474 .It·Ic·ed-transpose-chars·Pq·emacs:·Ctrl-T465 \fBed-transpose-chars·Pq·emacs:·Ctrl-T\fP
475 Exchange·the·character·at·the·cursor·position·with·the·one·to·the466 Exchange·the·character·at·the·cursor·position·with·the·one·to·the
476 left·of·it·and·move·the·cursor·to·the·character·to·the·right·of·the467 left·of·it·and·move·the·cursor·to·the·character·to·the·right·of·the
477 two·exchanged·characters.468 two·exchanged·characters.
478 Ignore·any·argument.469 Ignore·any·argument.
479 It·is·an·error·if·the·cursor·is·at·the·beginning·of·the·edit·buffer470 It·is·an·error·if·the·cursor·is·at·the·beginning·of·the·edit·buffer
480 or·if·the·edit·buffer·contains·less·than·two·characters.471 or·if·the·edit·buffer·contains·less·than·two·characters.
 472 .TP
481 .It·Ic·ed-unassigned·Pq·all·characters·not·listed473 \fBed-unassigned·Pq·all·characters·not·listed\fP
482 This·editor·command·always·results·in·an·error.474 This·editor·command·always·results·in·an·error.
 475 .TP
483 .It·Ic·em-capitol-case·Pq·emacs:·Meta-C,·Meta-c476 \fBem-capitol-case·Pq·emacs:·Meta-C,·Meta-c\fP
484 Capitalize·the·string·from·the·cursor·to·the·end·of·the·current477 Capitalize·the·string·from·the·cursor·to·the·end·of·the·current
485 word.478 word.
486 That·is,·if·it·contains·at·least·one·alphabetic·character,·convert479 That·is,·if·it·contains·at·least·one·alphabetic·character,·convert
487 the·first·alphabetic·character·to·upper·case,·and·convert·all480 the·first·alphabetic·character·to·upper·case,·and·convert·all
488 characters·to·the·right·of·it·to·lower·case.481 characters·to·the·right·of·it·to·lower·case.
489 In·any·case,·move·the·cursor·to·the·next·character·after·the·end482 In·any·case,·move·the·cursor·to·the·next·character·after·the·end
490 of·the·current·word.483 of·the·current·word.
 484 .TP
491 .It·Ic·em-copy-prev-word·Pq·emacs:·Ctrl-Meta-_485 \fBem-copy-prev-word·Pq·emacs:·Ctrl-Meta-_\fP
492 Copy·the·string·from·the·beginning·of·the·current·word·to·the·cursor486 Copy·the·string·from·the·beginning·of·the·current·word·to·the·cursor
493 and·insert·it·to·the·left·of·the·cursor.487 and·insert·it·to·the·left·of·the·cursor.
494 Move·the·cursor·to·the·character·after·the·inserted·string.488 Move·the·cursor·to·the·character·after·the·inserted·string.
495 It·is·an·error·if·the·cursor·is·at·the·beginning·of·the·edit·buffer.489 It·is·an·error·if·the·cursor·is·at·the·beginning·of·the·edit·buffer.
 490 .TP
496 .It·Ic·em-copy-region·Pq·emacs:·Meta-W,·Meta-w491 \fBem-copy-region·Pq·emacs:·Meta-W,·Meta-w\fP
497 Copy·the·string·from·the·cursor·to·the·mark·to·the·cut·buffer.492 Copy·the·string·from·the·cursor·to·the·mark·to·the·cut·buffer.
498 It·is·an·error·if·the·mark·is·not·set.493 It·is·an·error·if·the·mark·is·not·set.
 494 .TP
499 .It·Ic·em-delete-next-word·Pq·emacs:·Meta-D,·Meta-d495 \fBem-delete-next-word·Pq·emacs:·Meta-D,·Meta-d\fP
500 Delete·the·string·from·the·cursor·to·the·end·of·the·current·word496 Delete·the·string·from·the·cursor·to·the·end·of·the·current·word
501 and·save·it·to·the·cut·buffer.497 and·save·it·to·the·cut·buffer.
502 It·is·an·error·if·the·cursor·is·at·the·end·of·the·edit·buffer.498 It·is·an·error·if·the·cursor·is·at·the·end·of·the·edit·buffer.
 499 .TP
503 .It·Ic·em-delete-or-list·Pq·emacs:·Ctrl-D,·EOF500 \fBem-delete-or-list·Pq·emacs:·Ctrl-D,·EOF\fP
504 If·the·cursor·is·not·at·the·end·of·the·line,·delete·the·character501 If·the·cursor·is·not·at·the·end·of·the·line,·delete·the·character
505 at·the·cursor.502 at·the·cursor.
506 If·the·edit·buffer·is·empty,·indicate·end·of·file·to·the·program.503 If·the·edit·buffer·is·empty,·indicate·end·of·file·to·the·program.
507 It·is·an·error·if·the·cursor·is·at·the·end·of·the·edit·buffer·and504 It·is·an·error·if·the·cursor·is·at·the·end·of·the·edit·buffer·and
508 the·edit·buffer·is·not·empty.505 the·edit·buffer·is·not·empty.
 506 .TP
509 .It·Ic·em-delete-prev-char·Pq·emacs:·Ctrl-H,·BS,·Ctrl-?,·DEL507 \fBem-delete-prev-char·Pq·emacs:·Ctrl-H,·BS,·Ctrl-?,·DEL\fP
510 Delete·the·character·to·the·left·of·the·cursor.508 Delete·the·character·to·the·left·of·the·cursor.
511 It·is·an·error·if·the·cursor·is·at·the·beginning·of·the·edit·buffer.509 It·is·an·error·if·the·cursor·is·at·the·beginning·of·the·edit·buffer.
 510 .TP
512 .It·Ic·em-exchange-mark·Pq·not·bound·by·default511 \fBem-exchange-mark·Pq·not·bound·by·default\fP
513 Exchange·the·cursor·and·the·mark.512 Exchange·the·cursor·and·the·mark.
 513 .TP
514 .It·Ic·em-gosmacs-transpose·Pq·not·bound·by·default514 \fBem-gosmacs-transpose·Pq·not·bound·by·default\fP
515 Exchange·the·two·characters·to·the·left·of·the·cursor.515 Exchange·the·two·characters·to·the·left·of·the·cursor.
516 It·is·an·error·if·the·cursor·is·on·the·first·or·second·character516 It·is·an·error·if·the·cursor·is·on·the·first·or·second·character
517 of·the·edit·buffer.517 of·the·edit·buffer.
 518 .TP
518 .It·Ic·em-inc-search-next·Pq·not·bound·by·default519 \fBem-inc-search-next·Pq·not·bound·by·default\fP
519 Emacs·incremental·next·search.520 Emacs·incremental·next·search.
 521 .TP
520 .It·Ic·em-inc-search-prev·Pq·not·bound·by·default522 \fBem-inc-search-prev·Pq·not·bound·by·default\fP
521 Emacs·incremental·reverse·search.523 Emacs·incremental·reverse·search.
 524 .TP
522 .It·Ic·em-kill-line·Pq·not·bound·by·default525 \fBem-kill-line·Pq·not·bound·by·default\fP
523 Delete·the·entire·contents·of·the·edit·buffer·and·save·it·to·the526 Delete·the·entire·contents·of·the·edit·buffer·and·save·it·to·the
524 cut·buffer.527 cut·buffer.
 528 .TP
525 .It·Ic·em-kill-region·Pq·emacs:·Ctrl-W529 \fBem-kill-region·Pq·emacs:·Ctrl-W\fP
526 Delete·the·string·from·the·cursor·to·the·mark·and·save·it·to·the530 Delete·the·string·from·the·cursor·to·the·mark·and·save·it·to·the
527 cut·buffer.531 cut·buffer.
528 It·is·an·error·if·the·mark·is·not·set.532 It·is·an·error·if·the·mark·is·not·set.
 533 .TP
529 .It·Ic·em-lower-case·Pq·emacs:·Meta-L,·Meta-l534 \fBem-lower-case·Pq·emacs:·Meta-L,·Meta-l\fP
530 Convert·the·characters·from·the·cursor·to·the·end·of·the·current535 Convert·the·characters·from·the·cursor·to·the·end·of·the·current
531 word·to·lower·case.536 word·to·lower·case.
 537 .TP
532 .It·Ic·em-meta-next·Pq·vi·command,·emacs:·Ctrl-[,·ESC538 \fBem-meta-next·Pq·vi·command,·emacs:·Ctrl-[,·ESC\fP
533 Set·the·bit·0x80·on·the·next·character·typed.539 Set·the·bit·0x80·on·the·next·character·typed.
534 Unless·the·resulting·code·point·is·printable,·holding·down·the540 Unless·the·resulting·code·point·is·printable,·holding·down·the
535 .Sq·Meta-541 `Meta-'
536 key·while·typing·that·character·is·a·simpler·way·to·achieve·the542 key·while·typing·that·character·is·a·simpler·way·to·achieve·the
537 same·effect.543 same·effect.
 544 .TP
538 .It·Ic·em-next-word·Pq·Meta-F,·Meta-f545 \fBem-next-word·Pq·Meta-F,·Meta-f\fP
539 Move·the·cursor·to·the·end·of·the·current·word.546 Move·the·cursor·to·the·end·of·the·current·word.
540 Can·be·used·as·a·movement·command·after547 Can·be·used·as·a·movement·command·after
541 .Ic·vi_change_meta·, 
542 .Ic·vi_delete_meta·,548 \fBvi_change_meta\fP,
 549 \fBvi_delete_meta\fP,
543 or550 or
544 .Ic·vi_yank·.551 \fBvi_yank\fP.
545 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit552 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit
546 buffer.553 buffer.
 554 .TP
547 .It·Ic·em-set-mark·Pq·emacs:·Ctrl-Q,·NUL555 \fBem-set-mark·Pq·emacs:·Ctrl-Q,·NUL\fP
548 Set·the·mark·at·the·current·cursor·position.556 Set·the·mark·at·the·current·cursor·position.
 557 .TP
549 .It·Ic·em-toggle-overwrite·Pq·insert558 \fBem-toggle-overwrite·Pq·insert\fP
550 Switch·from·insert·to·overwrite·mode·or·vice·versa.559 Switch·from·insert·to·overwrite·mode·or·vice·versa.
 560 .TP
551 .It·Ic·em-universal-argument·Pq·not·bound·by·default561 \fBem-universal-argument·Pq·not·bound·by·default\fP
552 If·in·argument·input·mode,·multiply·the·argument·by·4.562 If·in·argument·input·mode,·multiply·the·argument·by·4.
553 Otherwise,·switch·to·argument·input·mode·and·set·the·argument·to·4.563 Otherwise,·switch·to·argument·input·mode·and·set·the·argument·to·4.
554 It·is·an·error·if·the·existing·argument·is·already·greater·than·a564 It·is·an·error·if·the·existing·argument·is·already·greater·than·a
555 million.565 million.
 566 .TP
556 .It·Ic·em-upper-case·Pq·emacs:·Meta-U,·Meta-u567 \fBem-upper-case·Pq·emacs:·Meta-U,·Meta-u\fP
557 Convert·the·characters·from·the·cursor·to·the·end·of·the·current568 Convert·the·characters·from·the·cursor·to·the·end·of·the·current
558 word·to·upper·case.569 word·to·upper·case.
 570 .TP
559 .It·Ic·em-yank·Pq·emacs:·Ctrl-Y571 \fBem-yank·Pq·emacs:·Ctrl-Y\fP
560 Paste·the·cut·buffer·to·the·left·of·the·cursor.572 Paste·the·cut·buffer·to·the·left·of·the·cursor.
 573 .TP
561 .It·Ic·vi-add·Pq·vi·command:·a574 \fBvi-add·Pq·vi·command:·a\fP
562 Switch·to·vi·insert·mode.575 Switch·to·vi·insert·mode.
563 Unless·the·cursor·is·already·at·the·end·of·the·edit·buffer,·move576 Unless·the·cursor·is·already·at·the·end·of·the·edit·buffer,·move
564 it·one·character·position·to·the·right.577 it·one·character·position·to·the·right.
 578 .TP
565 .It·Ic·vi-add-at-eol·Pq·vi·command:·A579 \fBvi-add-at-eol·Pq·vi·command:·A\fP
566 Switch·to·vi·insert·mode·and·move·the·cursor·to·the·end·of·the·edit580 Switch·to·vi·insert·mode·and·move·the·cursor·to·the·end·of·the·edit
567 buffer.581 buffer.
 582 .TP
568 .It·Ic·vi-alias·Pq·vi·command:·@583 \fBvi-alias·Pq·vi·command:·@\fP
569 If·an·alias·function·was·defined·by·calling·the584 If·an·alias·function·was·defined·by·calling·the
570 .Xr·el_set·3585 \fBel_set\fP(3)
571 or586 or
572 .Xr·el_wset·3587 \fBel_wset\fP(3)
573 function·with·the·argument588 function·with·the·argument
574 .Dv·EL_ALIAS_TEXT·,589 EL_ALIAS_TEXT·,
575 read·one·character·from·the·terminal·bypassing·the·normal·line590 read·one·character·from·the·terminal·bypassing·the·normal·line
576 editing·functionality,·call·the·alias·function·passing·the·argument·that·was·specified·with591 editing·functionality,·call·the·alias·function·passing·the·argument·that·was·specified·with
577 .Dv·EL_ALIAS_TEXT592 EL_ALIAS_TEXT
578 as·the·first·argument·and·the·character·read,·with·an·underscore593 as·the·first·argument·and·the·character·read,·with·an·underscore
579 prepended,·as·the·second·argument,·and·pass·the·string·returned594 prepended,·as·the·second·argument,·and·pass·the·string·returned
580 from·the·alias·function·to595 from·the·alias·function·to
581 .Xr·el_wpush·3·.596 \fBel_wpush\fP(3).
582 It·is·an·error·if·no·alias·function·is·defined·or·if·trying·to·read597 It·is·an·error·if·no·alias·function·is·defined·or·if·trying·to·read
583 the·character·results·in·end·of·file·or·an·error.598 the·character·results·in·end·of·file·or·an·error.
 599 .TP
584 .It·Ic·vi-change-case·Pq·vi·command:·~600 \fBvi-change-case·Pq·vi·command:·~\fP
585 Change·the·case·of·the·character·at·the·cursor·and·move·the·cursor601 Change·the·case·of·the·character·at·the·cursor·and·move·the·cursor
586 one·character·position·to·the·right.602 one·character·position·to·the·right.
587 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit603 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit
588 buffer.604 buffer.
 605 .TP
589 .It·Ic·vi-change-meta·Pq·vi·command:·c606 \fBvi-change-meta·Pq·vi·command:·c\fP
590 Delete·the·string·from·the·cursor·to·the·position·specified·by·the607 Delete·the·string·from·the·cursor·to·the·position·specified·by·the
591 following·movement·command·and·save·a·copy·of·it·to·the·cut·buffer.608 following·movement·command·and·save·a·copy·of·it·to·the·cut·buffer.
592 When·given·twice·in·a·row,·instead·delete·the·whole·contents·of·the609 When·given·twice·in·a·row,·instead·delete·the·whole·contents·of·the
593 edit·buffer·and·save·a·copy·of·it·to·the·cut·buffer.610 edit·buffer·and·save·a·copy·of·it·to·the·cut·buffer.
594 In·either·case,·switch·to·vi·insert·mode·after·that.611 In·either·case,·switch·to·vi·insert·mode·after·that.
 612 .TP
595 .It·Ic·vi-change-to-eol·Pq·vi·command:·C613 \fBvi-change-to-eol·Pq·vi·command:·C\fP
596 Delete·the·string·from·the·cursor·position·to·the·end·of·the·line614 Delete·the·string·from·the·cursor·position·to·the·end·of·the·line
597 and·save·it·to·the·cut·buffer,·then·switch·to·vi·insert·mode.615 and·save·it·to·the·cut·buffer,·then·switch·to·vi·insert·mode.
 616 .TP
598 .It·Ic·vi-command-mode·Pq·vi·insert:·Ctrl-[,·ESC617 \fBvi-command-mode·Pq·vi·insert:·Ctrl-[,·ESC\fP
599 Discard·pending·actions·and·arguments·and·switch·to·vi·command·mode.618 Discard·pending·actions·and·arguments·and·switch·to·vi·command·mode.
600 Unless·the·cursor·is·already·at·the·beginning·of·the·edit·buffer,619 Unless·the·cursor·is·already·at·the·beginning·of·the·edit·buffer,
601 move·it·to·the·left·by·one·character·position.620 move·it·to·the·left·by·one·character·position.
 621 .TP
602 .It·Ic·vi-comment-out·Pq·vi·command:·#622 \fBvi-comment-out·Pq·vi·command:·#\fP
603 Insert·a623 Insert·a
604 .Sq·#624 `#'
605 character·at·the·beginning·of·the·edit·buffer·and·return·the·edit625 character·at·the·beginning·of·the·edit·buffer·and·return·the·edit
606 buffer·to·the·program.626 buffer·to·the·program.
 627 .TP
607 .It·Ic·vi-delete-meta·Pq·vi·command:·d628 \fBvi-delete-meta·Pq·vi·command:·d\fP
608 Delete·the·string·from·the·cursor·to·the·position·specified·by·the629 Delete·the·string·from·the·cursor·to·the·position·specified·by·the
609 following·movement·command·and·save·a·copy·of·it·to·the·cut·buffer.630 following·movement·command·and·save·a·copy·of·it·to·the·cut·buffer.
610 When·given·twice·in·a·row,·instead·delete·the·whole·contents·of·the631 When·given·twice·in·a·row,·instead·delete·the·whole·contents·of·the
611 edit·buffer·and·save·a·copy·of·it·to·the·cut·buffer.632 edit·buffer·and·save·a·copy·of·it·to·the·cut·buffer.
 633 .TP
612 .It·Ic·vi-delete-prev-char·Pq·vi·insert:·Ctrl-H,·BS,·Ctrl-?,·DEL634 \fBvi-delete-prev-char·Pq·vi·insert:·Ctrl-H,·BS,·Ctrl-?,·DEL\fP
613 Delete·the·character·to·the·left·of·the·cursor.635 Delete·the·character·to·the·left·of·the·cursor.
614 It·is·an·error·if·the·cursor·is·already·at·the·beginning·of·the636 It·is·an·error·if·the·cursor·is·already·at·the·beginning·of·the
615 edit·buffer.637 edit·buffer.
 638 .TP
616 .It·Ic·vi-end-big-word·Pq·vi·command:·E639 \fBvi-end-big-word·Pq·vi·command:·E\fP
617 Move·the·cursor·to·the·end·of·the·current·space·delimited·word.640 Move·the·cursor·to·the·end·of·the·current·space·delimited·word.
618 Can·be·used·as·a·movement·command·after641 Can·be·used·as·a·movement·command·after
619 .Ic·vi_change_meta·, 
620 .Ic·vi_delete_meta·,642 \fBvi_change_meta\fP,
 643 \fBvi_delete_meta\fP,
621 or644 or
622 .Ic·vi_yank·.645 \fBvi_yank\fP.
623 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit646 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit
624 buffer.647 buffer.
 648 .TP
625 .It·Ic·vi-end-word·Pq·vi·command:·e649 \fBvi-end-word·Pq·vi·command:·e\fP
626 Move·the·cursor·to·the·end·of·the·current·word.650 Move·the·cursor·to·the·end·of·the·current·word.
627 Can·be·used·as·a·movement·command·after651 Can·be·used·as·a·movement·command·after
628 .Ic·vi_change_meta·, 
629 .Ic·vi_delete_meta·,652 \fBvi_change_meta\fP,
 653 \fBvi_delete_meta\fP,
630 or654 or
631 .Ic·vi_yank·.655 \fBvi_yank\fP.
632 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit656 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit
633 buffer.657 buffer.
 658 .TP
634 .It·Ic·vi-history-word·Pq·vi·command:·_659 \fBvi-history-word·Pq·vi·command:·_\fP
635 Insert·the·first·word·from·the·most·recent·history·entry·after·the660 Insert·the·first·word·from·the·most·recent·history·entry·after·the
636 cursor,·move·the·cursor·after·to·the·character·after·the·inserted661 cursor,·move·the·cursor·after·to·the·character·after·the·inserted
637 word,·and·switch·to·vi·insert·mode.662 word,·and·switch·to·vi·insert·mode.
638 It·is·an·error·if·there·is·no·history·entry·or·the·most·recent663 It·is·an·error·if·there·is·no·history·entry·or·the·most·recent
639 history·entry·is·empty.664 history·entry·is·empty.
 665 .TP
640 .It·Ic·vi-insert·Pq·vi·command:·i666 \fBvi-insert·Pq·vi·command:·i\fP
641 Enter·insert·mode.667 Enter·insert·mode.
 668 .TP
642 .It·Ic·vi-insert-at-bol·Pq·vi·command:·I669 \fBvi-insert-at-bol·Pq·vi·command:·I\fP
643 Move·the·cursor·to·the·beginning·of·the·edit·buffer·and·switch·to670 Move·the·cursor·to·the·beginning·of·the·edit·buffer·and·switch·to
644 vi·insert·mode.671 vi·insert·mode.
 672 .TP
645 .It·Ic·vi-kill-line-prev·Pq·vi:·Ctrl-U673 \fBvi-kill-line-prev·Pq·vi:·Ctrl-U\fP
646 Delete·the·string·from·the·beginning·of·the·edit·buffer·to·the674 Delete·the·string·from·the·beginning·of·the·edit·buffer·to·the
647 cursor·and·save·it·to·the·cut·buffer.675 cursor·and·save·it·to·the·cut·buffer.
 676 .TP
648 .It·Ic·vi-list-or-eof·Pq·vi·insert:·Ctrl-D,·EOF677 \fBvi-list-or-eof·Pq·vi·insert:·Ctrl-D,·EOF\fP
649 If·the·edit·buffer·is·empty,·indicate·end·of·file·to·the·program.678 If·the·edit·buffer·is·empty,·indicate·end·of·file·to·the·program.
650 It·is·an·error·if·the·edit·buffer·is·not·empty.679 It·is·an·error·if·the·edit·buffer·is·not·empty.
 680 .TP
651 .It·Ic·vi-match·Pq·vi·command:·%681 \fBvi-match·Pq·vi·command:·%\fP
652 Consider·opening·and·closing·parentheses,·braces,·and·brackets·as682 Consider·opening·and·closing·parentheses,·braces,·and·brackets·as
653 delimiters.683 delimiters.
654 If·the·cursor·is·not·at·a·delimiter,·move·it·to·the·right·until·it684 If·the·cursor·is·not·at·a·delimiter,·move·it·to·the·right·until·it
655 gets·to·one,·then·move·it·to·the·matching·delimiter.685 gets·to·one,·then·move·it·to·the·matching·delimiter.
656 Can·be·used·as·a·movement·command·after686 Can·be·used·as·a·movement·command·after
657 .Ic·vi_change_meta·, 
658 .Ic·vi_delete_meta·,687 \fBvi_change_meta\fP,
 688 \fBvi_delete_meta\fP,
659 or689 or
660 .Ic·vi_yank·.690 \fBvi_yank\fP.
661 It·is·an·error·if·there·is·no·delimiter·at·the·cursor·or·in·the691 It·is·an·error·if·there·is·no·delimiter·at·the·cursor·or·in·the
662 string·to·the·right·of·the·cursor,·or·if·the·first·such·delimiter692 string·to·the·right·of·the·cursor,·or·if·the·first·such·delimiter
663 has·no·matching·delimiter.693 has·no·matching·delimiter.
 694 .TP
664 .It·Ic·vi-next-big-word·Pq·vi·command:·W695 \fBvi-next-big-word·Pq·vi·command:·W\fP
665 Move·the·cursor·to·the·right·to·the·beginning·of·the·next·space696 Move·the·cursor·to·the·right·to·the·beginning·of·the·next·space
666 delimited·word.697 delimited·word.
667 Can·be·used·as·a·movement·command·after698 Can·be·used·as·a·movement·command·after
668 .Ic·vi_change_meta·, 
669 .Ic·vi_delete_meta·,699 \fBvi_change_meta\fP,
 700 \fBvi_delete_meta\fP,
670 or701 or
671 .Ic·vi_yank·.702 \fBvi_yank\fP.
672 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit703 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit
673 buffer·or·on·its·last·character.704 buffer·or·on·its·last·character.
 705 .TP
674 .It·Ic·vi-next-char·Pq·vi·command:·f706 \fBvi-next-char·Pq·vi·command:·f\fP
675 Read·one·character·from·the·terminal·bypassing·the·normal·line707 Read·one·character·from·the·terminal·bypassing·the·normal·line
676 editing·functionality·and·move·the·cursor·to·the·right·to·the·next708 editing·functionality·and·move·the·cursor·to·the·right·to·the·next
677 instance·of·that·character·in·the·edit·buffer.709 instance·of·that·character·in·the·edit·buffer.
678 Can·be·used·as·a·movement·command·after710 Can·be·used·as·a·movement·command·after
679 .Ic·vi_change_meta·, 
680 .Ic·vi_delete_meta·,711 \fBvi_change_meta\fP,
 712 \fBvi_delete_meta\fP,
681 or713 or
682 .Ic·vi_yank·.714 \fBvi_yank\fP.
683 If·trying·to·read·the·character·results·in·end·of·file·or·an·error,715 If·trying·to·read·the·character·results·in·end·of·file·or·an·error,
684 call716 call
685 .Ic·ed-end-of-file717 \fBed-end-of-file\fP
686 instead.718 instead.
687 It·is·an·error·if·the·character·is·not·found·searching·to·the·right719 It·is·an·error·if·the·character·is·not·found·searching·to·the·right
688 in·the·edit·buffer.720 in·the·edit·buffer.
 721 .TP
689 .It·Ic·vi-next-word·Pq·vi·command:·w722 \fBvi-next-word·Pq·vi·command:·w\fP
690 Move·the·cursor·to·the·right·to·the·beginning·of·the·next·word.723 Move·the·cursor·to·the·right·to·the·beginning·of·the·next·word.
691 Can·be·used·as·a·movement·command·after724 Can·be·used·as·a·movement·command·after
692 .Ic·vi_change_meta·, 
693 .Ic·vi_delete_meta·,725 \fBvi_change_meta\fP,
 726 \fBvi_delete_meta\fP,
694 or727 or
695 .Ic·vi_yank·.728 \fBvi_yank\fP.
696 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit729 It·is·an·error·if·the·cursor·is·already·at·the·end·of·the·edit
697 buffer·or·on·its·last·character.730 buffer·or·on·its·last·character.
 731 .TP
698 .It·Ic·vi-paste-next·Pq·vi·command:·p732 \fBvi-paste-next·Pq·vi·command:·p\fP
699 Insert·a·copy·of·the·cut·buffer·to·the·right·of·the·cursor.733 Insert·a·copy·of·the·cut·buffer·to·the·right·of·the·cursor.
700 It·is·an·error·if·the·cut·buffer·is·empty.734 It·is·an·error·if·the·cut·buffer·is·empty.
 735 .TP
701 .It·Ic·vi-paste-prev·Pq·vi·command:·P736 \fBvi-paste-prev·Pq·vi·command:·P\fP
702 Insert·a·copy·of·the·cut·buffer·to·the·left·of·the·cursor.737 Insert·a·copy·of·the·cut·buffer·to·the·left·of·the·cursor.
703 It·is·an·error·if·the·cut·buffer·is·empty.738 It·is·an·error·if·the·cut·buffer·is·empty.
 739 .TP
704 .It·Ic·vi-prev-big-word·Pq·vi·command:·B740 \fBvi-prev-big-word·Pq·vi·command:·B\fP
705 Move·the·cursor·to·the·left·to·the·next·beginning·of·a·space·delimited741 Move·the·cursor·to·the·left·to·the·next·beginning·of·a·space·delimited
706 word.742 word.
707 Can·be·used·as·a·movement·command·after743 Can·be·used·as·a·movement·command·after
708 .Ic·vi_change_meta·, 
709 .Ic·vi_delete_meta·,744 \fBvi_change_meta\fP,
 745 \fBvi_delete_meta\fP,
710 or746 or
711 .Ic·vi_yank·.747 \fBvi_yank\fP.
712 It·is·an·error·if·the·cursor·is·already·at·the·beginning·of·the748 It·is·an·error·if·the·cursor·is·already·at·the·beginning·of·the
713 edit·buffer.749 edit·buffer.
 750 .TP
714 .It·Ic·vi-prev-char·Pq·vi·command:·F751 \fBvi-prev-char·Pq·vi·command:·F\fP
715 Read·one·character·from·the·terminal·bypassing·the·normal·line752 Read·one·character·from·the·terminal·bypassing·the·normal·line
716 editing·functionality·and·move·the·cursor·to·the·left·to·the·next753 editing·functionality·and·move·the·cursor·to·the·left·to·the·next
717 instance·of·that·character·in·the·edit·buffer.754 instance·of·that·character·in·the·edit·buffer.
718 Can·be·used·as·a·movement·command·after755 Can·be·used·as·a·movement·command·after
719 .Ic·vi_change_meta·, 
720 .Ic·vi_delete_meta·,756 \fBvi_change_meta\fP,
 757 \fBvi_delete_meta\fP,
721 or758 or
722 .Ic·vi_yank·.759 \fBvi_yank\fP.
723 If·trying·to·read·the·character·results·in·end·of·file·or·an·error,760 If·trying·to·read·the·character·results·in·end·of·file·or·an·error,
724 call761 call
725 .Ic·ed-end-of-file762 \fBed-end-of-file\fP
726 instead.763 instead.
727 It·is·an·error·if·the·character·is·not·found·searching·to·the·left764 It·is·an·error·if·the·character·is·not·found·searching·to·the·left
728 in·the·edit·buffer.765 in·the·edit·buffer.
 766 .TP
729 .It·Ic·vi-prev-word·Pq·vi·command:·b767 \fBvi-prev-word·Pq·vi·command:·b\fP
730 Move·the·cursor·to·the·left·to·the·next·beginning·of·a·word.768 Move·the·cursor·to·the·left·to·the·next·beginning·of·a·word.
731 Can·be·used·as·a·movement·command·after769 Can·be·used·as·a·movement·command·after
732 .Ic·vi_change_meta·, 
733 .Ic·vi_delete_meta·,770 \fBvi_change_meta\fP,
 771 \fBvi_delete_meta\fP,
734 or772 or
735 .Ic·vi_yank·.773 \fBvi_yank\fP.
736 It·is·an·error·if·the·cursor·is·already·at·the·beginning·of·the774 It·is·an·error·if·the·cursor·is·already·at·the·beginning·of·the
737 edit·buffer.775 edit·buffer.
 776 .TP
738 .It·Ic·vi-redo·Pq·vi·command:·Sq·\&.777 \fBvi-redo·Pq·vi·command:·Sq·\&.\fP
739 Redo·the·last·non-motion·command.778 Redo·the·last·non-motion·command.
 779 .TP
740 .It·Ic·vi-repeat-next-char·Pq·vi·command:·Sq·\&;780 \fBvi-repeat-next-char·Pq·vi·command:·Sq·\&;\fP
741 Repeat·the·most·recent·character·search·in·the·same·search·direction.781 Repeat·the·most·recent·character·search·in·the·same·search·direction.
742 Can·be·used·as·a·movement·command·after782 Can·be·used·as·a·movement·command·after
743 .Ic·vi_change_meta·, 
744 .Ic·vi_delete_meta·,783 \fBvi_change_meta\fP,
 784 \fBvi_delete_meta\fP,
745 or785 or
746 .Ic·vi_yank·.786 \fBvi_yank\fP.
 787 .TP
747 .It·Ic·vi-repeat-prev-char·Pq·vi·command:·Sq·\&,788 \fBvi-repeat-prev-char·Pq·vi·command:·Sq·\&,\fP
748 Repeat·the·most·recent·character·search·in·the·opposite·search789 Repeat·the·most·recent·character·search·in·the·opposite·search
749 direction.790 direction.
750 Can·be·used·as·a·movement·command·after791 Can·be·used·as·a·movement·command·after
751 .Ic·vi_change_meta·, 
752 .Ic·vi_delete_meta·,792 \fBvi_change_meta\fP,
 793 \fBvi_delete_meta\fP,
753 or794 or
754 .Ic·vi_yank·.795 \fBvi_yank\fP.
 796 .TP
755 .It·Ic·vi-repeat-search-next·Pq·vi·command:·n797 \fBvi-repeat-search-next·Pq·vi·command:·n\fP
756 Repeat·the·most·recent·history·search·in·the·same·search·direction.798 Repeat·the·most·recent·history·search·in·the·same·search·direction.
 799 .TP
757 .It·Ic·vi-repeat-search-prev·Pq·vi·command:·N800 \fBvi-repeat-search-prev·Pq·vi·command:·N\fP
758 Repeat·the·most·recent·history·search·in·the·opposite·search801 Repeat·the·most·recent·history·search·in·the·opposite·search
759 direction.802 direction.
 803 .TP
760 .It·Ic·vi-replace-char·Pq·vi·command:·r804 \fBvi-replace-char·Pq·vi·command:·r\fP
761 Switch·to·vi·replace·mode,·and·automatically·switch·back·to·vi805 Switch·to·vi·replace·mode,·and·automatically·switch·back·to·vi
762 command·mode·after·the·next·character·typed.806 command·mode·after·the·next·character·typed.
763 See807 See
764 .Ic·ed-insert808 \fBed-insert\fP
765 for·a·description·of·replace·mode.809 for·a·description·of·replace·mode.
766 It·is·an·error·if·the·cursor·is·at·the·end·of·the·edit·buffer.810 It·is·an·error·if·the·cursor·is·at·the·end·of·the·edit·buffer.
 811 .TP
767 .It·Ic·vi-replace-mode·Pq·vi·command:·R812 \fBvi-replace-mode·Pq·vi·command:·R\fP
768 Switch·to·vi·replace·mode.813 Switch·to·vi·replace·mode.
769 This·is·a·variant·of·vi·insert·mode;·see814 This·is·a·variant·of·vi·insert·mode;·see
770 .Ic·ed-insert815 \fBed-insert\fP
771 for·the·difference.816 for·the·difference.
 817 .TP
772 .It·Ic·vi-search-next·Pq·vi·command:·\&?818 \fBvi-search-next·Pq·vi·command:·\&?\fP
773 Replace·the·edit·buffer·with·the·next·matching·history·entry.819 Replace·the·edit·buffer·with·the·next·matching·history·entry.
 820 .TP
774 .It·Ic·vi-search-prev·Pq·vi·command:·/821 \fBvi-search-prev·Pq·vi·command:·/\fP
775 Replace·the·edit·buffer·with·the·previous·matching·history·entry.822 Replace·the·edit·buffer·with·the·previous·matching·history·entry.
 823 .TP
776 .It·Ic·vi-substitute-char·Pq·vi·command:·s824 \fBvi-substitute-char·Pq·vi·command:·s\fP
777 Delete·the·character·at·the·cursor·and·switch·to·vi·insert·mode.825 Delete·the·character·at·the·cursor·and·switch·to·vi·insert·mode.
 826 .TP
778 .It·Ic·vi-substitute-line·Pq·vi·command:·S827 \fBvi-substitute-line·Pq·vi·command:·S\fP
779 Delete·the·entire·contents·of·the·edit·buffer,·save·a·copy·of·it828 Delete·the·entire·contents·of·the·edit·buffer,·save·a·copy·of·it
780 in·the·cut·buffer,·and·enter·vi·insert·mode.829 in·the·cut·buffer,·and·enter·vi·insert·mode.
 830 .TP
781 .It·Ic·vi-to-column·Pq·vi·command:·\&|831 \fBvi-to-column·Pq·vi·command:·\&|\fP
782 Move·the·cursor·to·the·column·specified·as·the·argument.832 Move·the·cursor·to·the·column·specified·as·the·argument.
783 Can·be·used·as·a·movement·command·after833 Can·be·used·as·a·movement·command·after
784 .Ic·vi_change_meta·, 
785 .Ic·vi_delete_meta·,834 \fBvi_change_meta\fP,
 835 \fBvi_delete_meta\fP,
786 or836 or
787 .Ic·vi_yank·.837 \fBvi_yank\fP.
 838 .TP
788 .It·Ic·vi-to-history-line·Pq·vi·command:·G839 \fBvi-to-history-line·Pq·vi·command:·G\fP
789 Replace·the·edit·buffer·with·the·specified·history·entry.840 Replace·the·edit·buffer·with·the·specified·history·entry.
 841 .TP
790 .It·Ic·vi-to-next-char·Pq·vi·command:·t842 \fBvi-to-next-char·Pq·vi·command:·t\fP
791 Read·one·character·from·the·terminal·bypassing·the·normal·line843 Read·one·character·from·the·terminal·bypassing·the·normal·line
792 editing·functionality·and·move·the·cursor·to·the·right·to·the844 editing·functionality·and·move·the·cursor·to·the·right·to·the
793 character·before·the·next·instance·of·that·character·in·the·edit845 character·before·the·next·instance·of·that·character·in·the·edit
794 buffer.846 buffer.
795 Can·be·used·as·a·movement·command·after847 Can·be·used·as·a·movement·command·after
796 .Ic·vi_change_meta·, 
797 .Ic·vi_delete_meta·,848 \fBvi_change_meta\fP,
 849 \fBvi_delete_meta\fP,
798 or850 or
799 .Ic·vi_yank·.851 \fBvi_yank\fP.
800 If·trying·to·read·the·character·results·in·end·of·file·or·an·error,852 If·trying·to·read·the·character·results·in·end·of·file·or·an·error,
801 call853 call
802 .Ic·ed-end-of-file854 \fBed-end-of-file\fP
803 instead.855 instead.
804 It·is·an·error·if·the·character·is·not·found·searching·to·the·right856 It·is·an·error·if·the·character·is·not·found·searching·to·the·right
805 in·the·edit·buffer.857 in·the·edit·buffer.
 858 .TP
806 .It·Ic·vi-to-prev-char·Pq·vi·command:·T859 \fBvi-to-prev-char·Pq·vi·command:·T\fP
807 Read·one·character·from·the·terminal·bypassing·the·normal·line860 Read·one·character·from·the·terminal·bypassing·the·normal·line
808 editing·functionality·and·move·the·cursor·to·the·left·to·the·character861 editing·functionality·and·move·the·cursor·to·the·left·to·the·character
809 after·the·next·instance·of·that·character·in·the·edit·buffer.862 after·the·next·instance·of·that·character·in·the·edit·buffer.
810 Can·be·used·as·a·movement·command·after863 Can·be·used·as·a·movement·command·after
811 .Ic·vi_change_meta·, 
812 .Ic·vi_delete_meta·,864 \fBvi_change_meta\fP,
 865 \fBvi_delete_meta\fP,
813 or866 or
814 .Ic·vi_yank·.867 \fBvi_yank\fP.
815 If·trying·to·read·the·character·results·in·end·of·file·or·an·error,868 If·trying·to·read·the·character·results·in·end·of·file·or·an·error,
816 call869 call
817 .Ic·ed-end-of-file870 \fBed-end-of-file\fP
818 instead.871 instead.
819 It·is·an·error·if·the·character·is·not·found·searching·to·the·left872 It·is·an·error·if·the·character·is·not·found·searching·to·the·left
820 in·the·edit·buffer.873 in·the·edit·buffer.
 874 .TP
821 .It·Ic·vi-undo·Pq·vi·command:·u875 \fBvi-undo·Pq·vi·command:·u\fP
822 Undo·the·last·change.876 Undo·the·last·change.
 877 .TP
823 .It·Ic·vi-undo-line·Pq·vi·command:·U878 \fBvi-undo-line·Pq·vi·command:·U\fP
824 Undo·all·changes·to·the·edit·buffer.879 Undo·all·changes·to·the·edit·buffer.
 880 .TP
825 .It·Ic·vi-yank·Pq·vi·command:·y881 \fBvi-yank·Pq·vi·command:·y\fP
826 Copy·the·string·from·the·cursor·to·the·position·specified·by·the882 Copy·the·string·from·the·cursor·to·the·position·specified·by·the
827 following·movement·command·to·the·cut·buffer.883 following·movement·command·to·the·cut·buffer.
828 When·given·twice·in·a·row,·instead·copy·the·whole·contents·of·the884 When·given·twice·in·a·row,·instead·copy·the·whole·contents·of·the
829 edit·buffer·to·the·cut·buffer.885 edit·buffer·to·the·cut·buffer.
 886 .TP
830 .It·Ic·vi-yank-end·Pq·vi·command:·Y887 \fBvi-yank-end·Pq·vi·command:·Y\fP
831 Copy·the·string·from·the·cursor·to·the·end·of·the·edit·buffer·to888 Copy·the·string·from·the·cursor·to·the·end·of·the·edit·buffer·to
832 the·cut·buffer.889 the·cut·buffer.
 890 .TP
833 .It·Ic·vi-zero·Pq·vi·command:·0891 \fBvi-zero·Pq·vi·command:·0\fP
834 If·in·argument·input·mode,·multiply·the·argument·by·ten.892 If·in·argument·input·mode,·multiply·the·argument·by·ten.
835 Otherwise,·move·the·cursor·to·the·beginning·of·the·edit·buffer.893 Otherwise,·move·the·cursor·to·the·beginning·of·the·edit·buffer.
836 Can·be·used·as·a·movement·command·after894 Can·be·used·as·a·movement·command·after
837 .Ic·vi_change_meta·, 
838 .Ic·vi_delete_meta·,895 \fBvi_change_meta\fP,
 896 \fBvi_delete_meta\fP,
839 or897 or
 898 \fBvi_yank\fP.
840 .Ic·vi_yank·. 
841 .El 
842 .Ss·Macros899 .SS·Macros
843 If·an·input·character·is·bound·to·the·editor·command900 If·an·input·character·is·bound·to·the·editor·command
844 .Ic·ed-sequence-lead-in·,901 \fBed-sequence-lead-in\fP,
845 .Nm902 \fBeditline\fP
846 attempts·to·call·a·macro.903 attempts·to·call·a·macro.
847 If·the·input·character·by·itself·forms·the·name·of·a·macro,·that904 If·the·input·character·by·itself·forms·the·name·of·a·macro,·that
848 macro·is·executed.905 macro·is·executed.
849 Otherwise,·additional·input·characters·are·read·until·the·string906 Otherwise,·additional·input·characters·are·read·until·the·string
850 read·forms·the·name·of·a·macro,·in·which·case·that·macro·is·executed,907 read·forms·the·name·of·a·macro,·in·which·case·that·macro·is·executed,
851 or·until·the·string·read·matches·the·beginning·of·none·of·the·existing908 or·until·the·string·read·matches·the·beginning·of·none·of·the·existing
852 macro·names,·in·which·case·the·string·including·the·final,·mismatching909 macro·names,·in·which·case·the·string·including·the·final,·mismatching
853 character·is·discarded·and·the·terminal·bell·is·rung.910 character·is·discarded·and·the·terminal·bell·is·rung.
854 .Pp 
855 There·are·two·kinds·of·macros.911 There·are·two·kinds·of·macros.
856 Command·macros·execute·a·single·editor·command.912 Command·macros·execute·a·single·editor·command.
857 Keyboard·macros·return·a·string·of·characters·that·is·appended913 Keyboard·macros·return·a·string·of·characters·that·is·appended
858 as·a·new·line·to·the914 as·a·new·line·to·the
859 .Sx·Input·Queue·.915 .B·Input·Queue·.
860 .Pp 
861 The·following·command·macros·are·defined·by·default·in·vi·command916 The·following·command·macros·are·defined·by·default·in·vi·command
862 mode·and·in·emacs·mode:917 mode·and·in·emacs·mode:
863 .Bl·-column·-offset·indent·"Esc·O·A,·Esc·O·A"·"em-exchange-mark" 
864 .It·Esc·\&[·A,·Esc·O·A·Ta·Ic·ed-prev-history918 It·Esc·\&[·A,·Esc·O·A·Ta·\fBed-prev-history\fP
865 .It·Esc·\&[·B,·Esc·O·B·Ta·Ic·ed-next-history919 It·Esc·\&[·B,·Esc·O·B·Ta·\fBed-next-history\fP
866 .It·Esc·\&[·C,·Esc·O·C·Ta·Ic·ed-next-char920 It·Esc·\&[·C,·Esc·O·C·Ta·\fBed-next-char\fP
867 .It·Esc·\&[·D,·Esc·O·D·Ta·Ic·ed-prev-char921 It·Esc·\&[·D,·Esc·O·D·Ta·\fBed-prev-char\fP
868 .It·Esc·\&[·F,·Esc·O·F·Ta·Ic·ed-move-to-end922 It·Esc·\&[·F,·Esc·O·F·Ta·\fBed-move-to-end\fP
869 .It·Esc·\&[·H,·Esc·O·H·Ta·Ic·ed-move-to-beg923 It·Esc·\&[·H,·Esc·O·H·Ta·\fBed-move-to-beg\fP
  
870 .El 
871 .Pp 
872 In·vi·command·mode,·they·are·also·defined·by·default·without·the924 In·vi·command·mode,·they·are·also·defined·by·default·without·the
873 initial·escape·character.925 initial·escape·character.
874 .Pp 
875 In·addition,·the926 In·addition,·the
876 .Nm927 \fBeditline\fP
877 library·tries·to·bind·the·strings·generated·by·the·arrow·keys928 library·tries·to·bind·the·strings·generated·by·the·arrow·keys
878 as·reported·by·the929 as·reported·by·the
879 .Xr·terminfo·5930 \fBterminfo\fP(5)
880 database·to·these·editor·commands,·unless·that·would·clobber931 database·to·these·editor·commands,·unless·that·would·clobber
881 user·settings.932 user·settings.
882 .Pp 
883 In·emacs·mode,·the·two-character·string933 In·emacs·mode,·the·two-character·string
884 .Dq·Ctrl-X·Ctrl-X934 ``Ctrl-X·Ctrl-X''
885 is·bound·to·the935 is·bound·to·the
886 .Ic·em-exchange-mark936 \fBem-exchange-mark\fP
887 editor·command.937 editor·command.
888 .Ss·Input·Queue938 .SS·Input·Queue
889 The939 The
890 .Nm940 \fBeditline\fP
891 library·maintains·an·input·queue·operated·in·FIFO·mode.941 library·maintains·an·input·queue·operated·in·FIFO·mode.
892 Whenever·it·needs·an·input·character,·it·takes·the·first·character942 Whenever·it·needs·an·input·character,·it·takes·the·first·character
893 from·the·first·line·of·the·input·queue.943 from·the·first·line·of·the·input·queue.
894 When·the·queue·is·empty,·it·reads·from·the·terminal.944 When·the·queue·is·empty,·it·reads·from·the·terminal.
895 .Pp 
896 A·line·can·be·appended·to·the·end·of·the·input·queue·in·several·ways:945 A·line·can·be·appended·to·the·end·of·the·input·queue·in·several·ways:
897 .Bl·-dash·-offset·indent 
898 .It946 It
899 By·calling·one·of·the·keyboard947 By·calling·one·of·the·keyboard
900 .Sx·Macros·.948 .B·Macros·.
901 .It949 It
902 By·calling·the·editor·command950 By·calling·the·editor·command
903 .Ic·vi-redo·.951 \fBvi-redo\fP.
904 .It952 It
905 By·calling·the·editor·command953 By·calling·the·editor·command
906 .Ic·vi-alias·.954 \fBvi-alias\fP.
907 .It955 It
908 By·pressing·a·key·in·emacs·incremental·search·mode·that·doesn't956 By·pressing·a·key·in·emacs·incremental·search·mode·that·doesn't
909 have·a·special·meaning·in·that·mode·but·returns·to·normal·emacs957 have·a·special·meaning·in·that·mode·but·returns·to·normal·emacs
910 mode.958 mode.
911 .It959 It
912 If·an·application·program·directly·calls·the·functions960 If·an·application·program·directly·calls·the·functions
913 .Xr·el_push·3961 \fBel_push\fP(3)
914 or962 or
915 .Xr·el_wpush·3·,963 \fBel_wpush\fP(3),
916 it·can·provide·additional,·program-specific·ways964 it·can·provide·additional,·program-specific·ways
917 of·appending·to·the·input·queue.965 of·appending·to·the·input·queue.
918 .El 
919 .Sh·SEE·ALSO966 .SH·SEE·ALSO
920 .Xr·mg·1·, 
921 .Xr·vi·1·, 
922 .Xr·editline·3·, 
923 .Xr·el_wgets·3·, 
924 .Xr·el_wpush·3·, 
925 .Xr·el_wset·3·, 
926 .Xr·editrc·5967 \fBmg\fP(1),
 968 \fBvi\fP(1),
 969 \fBeditline\fP(3),
 970 \fBel_wgets\fP(3),
 971 \fBel_wpush\fP(3),
 972 \fBel_wset\fP(3),
 973 \fBeditrc\fP(5)
927 .Sh·HISTORY974 .SH·HISTORY
928 This·manual·page·first·appeared·in975 This·manual·page·first·appeared·in
929 .Ox·6.0976 Ox·6.0
930 and977 and
931 .Nx·8·.978 Nx·8·.
932 .Sh·AUTHORS979 .SH·AUTHORS
  
933 .An·-nosplit980 -nosplit
934 This·manual·page·was·written·by981 This·manual·page·was·written·by
  
935 .An·Ingo·Schwarze·Aq·Mt·schwarze@openbsd.org·.982 Ingo·Schwarze·<Mt·schwarze@openbsd.org·.>