Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarshitha KP <harshi46@in.ibm.com>2020-01-07 15:37:42 +0300
committerRuben Bridgewater <ruben@bridgewater.de>2020-01-13 11:35:59 +0300
commit027eaac37378e6c38b900f9f19916de0b29f4162 (patch)
treef7a160502bc1cd35280b3a40075b997551f9511e /doc/api/readline.md
parent94549be3405467df180ed3c5ac98c147665b3a77 (diff)
doc: document readline key bindings
This documents all readline key bindings. It is a rework of https://github.com/nodejs/node/pull/20825 PR-URL: https://github.com/nodejs/node/pull/31256 Fixes: https://github.com/nodejs/node/issues/20814 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'doc/api/readline.md')
-rw-r--r--doc/api/readline.md129
1 files changed, 128 insertions, 1 deletions
diff --git a/doc/api/readline.md b/doc/api/readline.md
index cbb844886d6..e54bfec7686 100644
--- a/doc/api/readline.md
+++ b/doc/api/readline.md
@@ -293,7 +293,8 @@ added: v0.1.98
The `rl.write()` method will write either `data` or a key sequence identified
by `key` to the `output`. The `key` argument is supported only if `output` is
-a [TTY][] text terminal.
+a [TTY][] text terminal. See [TTY keybindings][] for a list of key
+combinations.
If `key` is specified, `data` is ignored.
@@ -722,6 +723,131 @@ const { createInterface } = require('readline');
})();
```
+## TTY keybindings
+
+<table>
+ <tr>
+ <th>Keybindings</th>
+ <th>Description</th>
+ <th>Notes</th>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>shift</code> + <code>backspace</code></td>
+ <td>Delete line left</td>
+ <td>Doesn't work on Linux, Mac and Windows</td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>shift</code> + <code>delete</code></td>
+ <td>Delete line right</td>
+ <td>Doesn't work on Linux and Mac</td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>c</code></td>
+ <td>Emit <code>SIGINT</code> or close the readline instance</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>h</code></td>
+ <td>Delete left</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>d</code></td>
+ <td>Delete right or close the readline instance in case the current line is empty / EOF</td>
+ <td>Doesn't work on Windows</td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>u</code></td>
+ <td>Delete from the current position to the line start</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>k</code></td>
+ <td>Delete from the current position to the end of line</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>a</code></td>
+ <td>Go to start of line</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>e</code></td>
+ <td>Go to to end of line</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>b</code></td>
+ <td>Back one character</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>f</code></td>
+ <td>Forward one character</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>l</code></td>
+ <td>Clear screen</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>n</code></td>
+ <td>Next history item</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>p</code></td>
+ <td>Previous history item</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>z</code></td>
+ <td>Moves running process into background. Type
+ <code>fg</code> and press <code>enter</code>
+ to return.</td>
+ <td>Doesn't work on Windows</td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>w</code> or <code>ctrl</code>
+ + <code>backspace</code></td>
+ <td>Delete backwards to a word boundary</td>
+ <td><code>ctrl</code> + <code>backspace</code> Doesn't
+ work as expected on Windows</td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>delete</code></td>
+ <td>Delete forward to a word boundary</td>
+ <td>Doesn't work on Mac</td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>left</code> or
+ <code>meta</code> + <code>b</code></td>
+ <td>Word left</td>
+ <td><code>ctrl</code> + <code>left</code> Doesn't work
+ on Mac</td>
+ </tr>
+ <tr>
+ <td><code>ctrl</code> + <code>right</code> or
+ <code>meta</code> + <code>f</code></td>
+ <td>Word right</td>
+ <td><code>ctrl</code> + <code>right</code> Doesn't work
+ on Mac</td>
+ </tr>
+ <tr>
+ <td><code>meta</code> + <code>d</code> or <code>meta</code>
+ + <code>delete</code></td>
+ <td>Delete word right</td>
+ <td><code>meta</code> + <code>delete</code> Doesn't work
+ on windows</td>
+ </tr>
+ <tr>
+ <td><code>meta</code> + <code>backspace</code></td>
+ <td>Delete word left</td>
+ <td>Doesn't work on Mac</td>
+ </tr>
+</table>
+
[`'SIGCONT'`]: readline.html#readline_event_sigcont
[`'SIGTSTP'`]: readline.html#readline_event_sigtstp
[`'line'`]: #readline_event_line
@@ -731,5 +857,6 @@ const { createInterface } = require('readline');
[`rl.close()`]: #readline_rl_close
[Readable]: stream.html#stream_readable_streams
[TTY]: tty.html
+[TTY keybindings]: #readline_tty_keybindings
[Writable]: stream.html#stream_writable_streams
[reading files]: #readline_example_read_file_stream_line_by_line