1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
|
<!-- $LynxId: bashlike_edit_help.html,v 1.22 2021/07/01 21:02:38 tom Exp $ -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Linux version 5.6.0">
<title>Lynx Line Editor Bash-Like Key Binding</title>
<link rev="made" href="mailto:lynx-dev@nongnu.org">
<link rel="Sibling" title="Default Binding" href=
"edit_help.html">
<link rel="Sibling" title="Alternative Binding" href=
"alt_edit_help.html">
<meta http-equiv="Content-Type" content=
"text/html; charset=us-ascii">
<meta name="description" content=
"Describes the bash-like line editor bindings for Lynx. This is one of the alternate bindings normally compiled-in">
</head>
<body>
<div class="nav">
<ul>
<li><a href="#overview">Overview</a></li>
<li><a href="#bash_bindings">Bash-like bindings</a></li>
<li><a href="#examples">Try it yourself</a></li>
<li><a href="#emacs_bindings">Emacs-like commands</a></li>
<li><a href="#special_keys">Comments on special keys</a></li>
<li><a href="#notes">Notes</a></li>
<li><a href="#miscellaneous">Additional details</a></li>
</ul>
</div>
<h2><a name="overview" id="overview">Overview</a></h2>
<p><strong>Lynx</strong> invokes a built-in <a href=
"edit_help.html">Line Editor</a> for entering strings in response
to prompts, in forms, and for email messages if an external
editor has not been defined. Alternative key bindings are
normally available (unless <strong>Lynx</strong> was configured
with <code>--disable-alt-bindings</code>). If available, they may
be selected via the “o”ptions menu, or by editing
lineedit_mode in the “.lynxrc” file.</p>
<p>You can always see the current set of key-bindings in
<strong>Lynx</strong> by opening the special URL <a href=
"LYNXEDITMAP:">LYNXEDITMAP:</a>. This page is provided for those
not using Lynx.</p>
<p><strong><em>Note:</em></strong> setting emacs/vi keys ON has
no direct effect on line-editor bindings.</p>
<h2><a name="bash_bindings" id="bash_bindings">Bash-like
bindings</a></h2>
<p>This is the <em>Bash-like Binding</em> keymap.</p>
<pre>
ENTER Input complete - Enter, RETURN
TAB Completion / Next - TAB, Do (<em><a href=
"#note_2">see note 2</a></em>)
ABORT Cancel / Undo Change - Ctrl-g, Ctrl-_
ERASE Erase the line - M-k, Ctrl-x k
BACK Cursor back char - Left-Arrow, Ctrl-b
FORW Cursor forward char - Right-Arrow, Ctrl-f
BACKW Cursor back word - M-b, Ctrl-r
FORWW Cursor forward word - M-f, Ctrl-s (<em><a href=
"#note_5">see note 5</a></em>)
BOL Go to begin of line - Ctrl-a, Home, Find
EOL Go to end of line - Ctrl-e, End, Select (<em><a href="#note_4">see note 4</a></em>)
DELP Delete prev char - Backspace
DELN Delete next char - Ctrl-d, Delete, Remove (<em><a href="#note_1">see note 1</a></em>)
DELPW Delete prev word - Ctrl-w, M-Backspace, M-Delete (<em><a href="#note_3">see note 3</a></em>)
DELNW Delete next word - M-d
DELBL Delete to beg of line - Ctrl-u
DELEL Delete to end of line - Ctrl-k (<em><a href=
"#note_4">see note 4</a></em>)
UPPER Upper case the line - M-u
LOWER Lower case the line - M-l
LKCMD Invoke cmd prompt - Ctrl-v [FORM] (<em><a href=
"#note_6">see note 6</a></em>)
SWMAP Switch input keymap - Ctrl-^ (if compiled in)
<a name="TASpecial" id=
"TASpecial">Special commands for use in textarea fields</a> [FORM]:
PASS! Textarea external edit - Ctrl-e Ctrl-e, Ctrl-x e (<em><a href="#note_4">see note 4</a></em>)
PASS! Insert file in textarea - Ctrl-x i
PASS! Grow textarea - Ctrl-x g
</pre>
<h2><a name="examples" id="examples">Try it yourself</a></h2>
<p>Here is a little textarea for practice:</p>
<form action="">
<p>
<textarea name="practice" cols="40" rows=
"5">This text cannot be submitted. Normally lines like
these would be part of a form that is filled out and
then submitted. You can move around here and delete
or add text as you like, using the Line-Editor keys.
</textarea><input type="reset" value="[reset content]">
</p>
</form>
<h2><a name="emacs_bindings" id="emacs_bindings">Emacs-like
commands</a></h2>
<pre>
TPOS Transpose characters - Ctrl-t
SETMARK Set mark at current position in line - Ctrl-@
XPMARK Exchange current position with mark - Ctrl-x Ctrl-x
KILLREG Kill region between mark and position - Ctrl-x Ctrl-w (<em><a href="#note_3">see note 3</a></em>)
YANK Insert text last killed (with KILLREG) - Ctrl-y
</pre>
<h2><a name="special_keys" id="special_keys">Special keys</a></h2>
<p>See the <em><a href="edit_help.html#special_keys">Lynx Line
Editor</a></em> page for an explanation of terminology and
key-names.</p>
<h2><a name="notes" id="notes">Notes</a></h2>
<ol>
<li id="note_1">"next" means the character "under" a box or
underline style cursor; it means "to the immediate right of" an
I-beam (between characters) type cursor.</li>
<li id="note_2">For entering strings in response to prompts
(that is, when not editing form text fields), some keys have
different actions: TAB tries to complete input based on
previous response; Up-Arrow and Down-Arrow may offer previous
response and next response, respectively, from recall buffer
for some prompts.</li>
<li id="note_3">Ctrl-w can only be used for editing functions
if its default KEYMAP to REFRESH is changed. This can be done
in the lynx.cfg file, for example with the line
"KEYMAP:^W:DO_NOTHING". This also applies for other keys: as
long as the key's action is mapped to REFRESH, either with an
explicit KEYMAP in lynx.cfg or by default, the key's Line
Editor binding is disabled.</li>
<li id="note_4">These keys invoke special behavior when pressed
twice in a row: Ctrl-e Ctrl-e calls the external editor for
changing the text in a textarea (if available). Ctrl-k Ctrl-k
will move to the next link, so that all lines in a textarea can
be conveniently cleared by repeating Ctrl-k.</li>
<li id="note_5">Key is likely unavailable for
<strong>Lynx</strong>, because it is interpreted by operating
system, comm program, or curses library, or swallowed as part
of escape sequence recognition. Binding is provided for the
benefit of those where this does not apply.</li>
<li id="note_6">where <strong>[FORM]</strong> is marked,
indicates that the binding is effective only in form text
fields. It is ignored by Line Editor elsewhere.</li>
</ol>
<p>When a text input field, including a textarea line, is
selected, the Line Editor functions get a first grab at the keys
entered. If a key has no function defined in the Line Editor
binding, it can either be ignored, or passed on for normal key
command handling, where modifiers like Ctrl-x or Meta currently
have no effect (see the <a href="LYNXKEYMAP:">Key Map Page</a>
accessible with the key <kbd>K</kbd> for current
information).</p>
<h2><a name="miscellaneous" id="miscellaneous">Additional
details</a></h2>
<p>Here are some additional details on other keys, for the
curious (very much subject to change)</p>
<pre>
Normal key action when used in form fields, subject to remapping
with KEYMAP: [FORM (except Up-Arrow, Down-Arrow)]
Ctrl-l (<em><a href="#note_3">see note 3</a></em>)
Ctrl-o, Ctrl-z, Ctrl-\, Ctrl-] (<em><a href=
"#note_5">see note 5</a></em>)
Ctrl-n [emacskey], Ctrl-p [emacskey]
Up-Arrow, Down-Arrow (<em><a href=
"#note_2">see note 2</a></em>)
Page-Up, Page-Down, F1, Back-Tab
Normal key command with Meta modifier ignored when used in form fields,
subject to remapping with KEYMAP: [FORM (except Up-Arrow, Down-Arrow)]
M-Ctrl-l (<em><a href=
"#note_3">see note 3</a></em>) M-Ctrl-o <a href="#no_meta">[!]</a>,
M-Ctrl-z, M-Ctrl-\, M-Ctrl-] (<em><a href=
"#note_5">see note 5</a></em>)
M-Ctrl-u, M-/, M-n
M-Up-Arrow <a href=
"#no_meta">[!]</a>, M-Down-Arrow <a href=
"#no_meta">[!]</a> (<em><a href="#note_2">see note 2</a></em>)
M-Page-Up <a href=
"#no_meta">[!]</a>, M-Page-Down <a href=
"#no_meta">[!]</a>, M-Home, M-End
Passed as specific command:
lynx action duplicates by default
----------- ---------------------
M-Ctrl-d NEXT_LINK Down-Arrow
M-Ctrl-e EDITTEXTAREA Ctrl-e Ctrl-e
M-Ctrl-k LPOS_NEXT_LINK (none, Down-Arrow suggested)
M-e EDITTEXTAREA Ctrl-e Ctrl-e
M-g GROWTEXTAREA (none, Ctrl-v $ suggested?)
M-i INSERTFILE (none, Ctrl-v # suggested?)
M-< HOME M-Home
M-> END M-End
M-F1 DWIMHELP F1
M-Find WHEREIS Ctrl-v /
M-Select NEXT Ctrl-v n
Duplicates function of other key(s):
edit action duplicates
----------- ----------
M-Ctrl-b BACKW M-b, Ctrl-r
M-Ctrl-f FORWW M-f
M-Ctrl-n FORWW M-f
M-Ctrl-p BACKW M-b, Ctrl-r
M-Ctrl-r BACKW M-b, Ctrl-r
M-a BOL Ctrl-a, Home, ...
Modifier ignored, and duplicates function of other key(s):
edit action duplicates
----------- ----------
M-Ctrl-a BOL Ctrl-a, Home, ...
M-Ctrl-g ABORT Ctrl-g, ...
M-TAB TAB Ctrl-i <a href=
"#no_meta">[!]</a>
M-Ctrl-j ENTER Ctrl-m, Ctrl-j, Enter / RETURN
M-RETURN ENTER Ctrl-m, Ctrl-j, Enter / RETURN
M-Ctrl-y YANK Ctrl-y <a href=
"#no_meta">[!]</a>
M-Ctrl-^ SWMAP Ctrl-^ <a href=
"#no_meta">[!]</a> (if compiled in)
M-Right-Arrow FORW Right-Arrow <a href=
"#no_meta">[!]</a>, Ctrl-f
M-Left-Arrow BACK Left-Arrow <a href=
"#no_meta">[!]</a>, Ctrl-b
M-Do TAB Ctrl-i <a href=
"#no_meta">[!]</a>
Key completely ignored:
Ctrl-q, Insert
M-Ctrl-q, M-Ctrl-s, M-Ctrl-t, M-Ctrl-v, M-ESC (<em><a href="#note_5">see note 5</a></em>)
M-Ctrl-@, M-Ctrl-_, M-Remove, M-Insert <a href=
"#no_meta">[!]</a>
Meta + other (mostly, printable character) keys:
Modifier ignored, or sequence swallowed (<em><a href=
"#note_5">see note 5</a></em>).
M-@, M-E...M-Z, M-\, M-^, M-_ attempt to interpret
as 7-bit escape representation for character in 8-bit
control (C1) range if appropriate according to
Display Character Set.
[emacskey] Normal key action subject to emacs_keys setting.
<a name="no_meta" id=
"no_meta">[!]</a> Action of key with Meta modifier follows action of key without
Meta. If you manage to enter the Meta key while Line-Editor
Binding is not set to Bash-Like, and the unmodified binding
is different from that listed here, M-<<var>key</var>> will act
like <<var>key</var>>.
</pre>
</body>
</html>
|