277 lines
11 KiB
HTML
277 lines
11 KiB
HTML
<!-- $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>
|