Skip to content
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 120 additions & 1 deletion doc/api/readline.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -722,6 +723,123 @@ const { createInterface } = require('readline');
})();
```

## TTY keybindings
Comment thread
BridgeAR marked this conversation as resolved.
Resolved

<table>
<tr>
<th>Keybindings</th>
<th>Description</th>
Comment thread
BridgeAR marked this conversation as resolved.
Resolved
</tr>
<tr>
<td><code>ctrl</code> + <code>shift</code> + <code>backspace</code></td>
<td>Delete line left</td>
</tr>
<tr>
<td><code>ctrl</code> + <code>shift</code> + <code>delete</code></td>
<td>Delete line right</td>
</tr>
<tr>
<td><code>ctrl</code> + <code>c</code></td>
<td>Emit SIGINT</td>
Comment thread
BridgeAR marked this conversation as resolved.
Resolved
</tr>
<tr>
<td><code>ctrl</code> + <code>h</code></td>
<td>Delete left</td>
</tr>
<tr>
<td><code>ctrl</code> + <code>d</code></td>
<td>Delete right or EOF</td>
Comment thread
BridgeAR marked this conversation as resolved.
Resolved
</tr>
<tr>
<td><code>ctrl</code> + <code>u</code></td>
<td>Delete from current to line start</td>
Comment thread
BridgeAR marked this conversation as resolved.
Resolved
</tr>
<tr>
<td><code>ctrl</code> + <code>k</code></td>
<td>Delete from current to end of line</td>
Comment thread
BridgeAR marked this conversation as resolved.
Resolved
</tr>
<tr>
<td><code>ctrl</code> + <code>a</code></td>
<td>Go to start of line</td>
</tr>
<tr>
<td><code>ctrl</code> + <code>e</code></td>
<td>Go to to end of line</td>
</tr>
<tr>
<td><code>ctrl</code> + <code>b</code></td>
<td>Back one character</td>
</tr>
<tr>
<td><code>ctrl</code> + <code>f</code></td>
<td>Forward one character</td>
</tr>
<tr>
<td><code>ctrl</code> + <code>l</code></td>
<td>Clear screen</td>
</tr>
<tr>
<td><code>ctrl</code> + <code>n</code></td>
<td>Next history item</td>
</tr>
<tr>
<td><code>ctrl</code> + <code>p</code></td>
<td>Previous history item</td>
Comment thread
BridgeAR marked this conversation as resolved.
Resolved
</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>
</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>
</tr>
<tr>
<td><code>ctrl</code> + <code>delete</code></td>
<td>Delete forward to a word boundary</td>
</tr>
<tr>
<td><code>ctrl</code> + <code>left</code></td>
<td>Word left </td>
Comment thread
BridgeAR marked this conversation as resolved.
Resolved
</tr>
<tr>
<td><code>ctrl</code> + <code>right</code></td>
<td>Word right</td>
</tr>
<tr>
<td><code>meta</code> + <code>b</code></td>
<td>Word left</td>
</tr>
Comment thread
BridgeAR marked this conversation as resolved.
Resolved
<tr>
<td><code>meta</code> + <code>f</code></td>
<td>Word right</td>
</tr>
Comment thread
BridgeAR marked this conversation as resolved.
Resolved
<tr>
<td><code>meta</code> + <code>d</code> or <code>meta</code>
+ <code>delete</code></td>
<td>Delete word right</td>
</tr>
<tr>
<td><code>meta</code> + <code>backspace</code></td>
<td>Delete word left </td>
Comment thread
BridgeAR marked this conversation as resolved.
Resolved
</tr>
</table>

Below bindings doesn't work on all platforms
Comment thread
BridgeAR marked this conversation as resolved.
Resolved
1. ctrl + shift + backspace: doesn't work on Linux, Mac and Windows
2. ctrl + shift + delete: doesn't work on Linux and Mac
3. ctrl + d: doesn't work on Windows
4. ctrl + z: doesn't work on Windows
5. ctrl + backspace: doesn't work as expected on Windows
6. ctrl + delete: doesn't work on Mac
7. ctrl + left: doesn't work on Mac
8. ctrl + right: doesn't work on Mac
9. meta + delete: deosn't work on windows
10. meta + backspace: doesn't work on Mac

[`'SIGCONT'`]: readline.html#readline_event_sigcont
[`'SIGTSTP'`]: readline.html#readline_event_sigtstp
[`'line'`]: #readline_event_line
Expand All @@ -731,5 +849,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
3 changes: 3 additions & 0 deletions doc/api/repl.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ The following key combinations in the REPL have these special effects:
variables. When pressed while entering other input, displays relevant
autocompletion options.

For a full list of special keys, refer to [TTY keybindings][].
Comment thread
BridgeAR marked this conversation as resolved.
Resolved

### Default Evaluation

By default, all instances of [`repl.REPLServer`][] use an evaluation function
Expand Down Expand Up @@ -736,5 +738,6 @@ For an example of running a REPL instance over [curl(1)][], see:
[`repl.ReplServer`]: #repl_class_replserver
[`repl.start()`]: #repl_repl_start_options
[`util.inspect()`]: util.html#util_util_inspect_object_options
[TTY keybindings]: readline.html#readline_tty_keybindings
[curl(1)]: https://curl.haxx.se/docs/manpage.html
[stream]: stream.html