From 5539931018ecc0f6374935543455fe2f5377f5c3 Mon Sep 17 00:00:00 2001 From: gwenn <gtreguier@gmail.com> Date: Sat, 8 Apr 2017 20:09:35 +0200 Subject: [PATCH] Update README --- README.md | 80 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 72 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 1856588d..f031d1b1 100644 --- a/README.md +++ b/README.md @@ -83,27 +83,40 @@ rustyline = "1.0.0" ## Actions +For all modes: + Keystroke | Action --------- | ------ -Ctrl-A, Home | Move cursor to the beginning of line -Ctrl-B, Left | Move cursor one character left +Home | Move cursor to the beginning of line +End | Move cursor to end of line +Left | Move cursor one character left +Right | Move cursor one character right Ctrl-C | Interrupt/Cancel edition Ctrl-D, Del | (if line is *not* empty) Delete character under cursor Ctrl-D | (if line *is* empty) End of File +Ctrl-J, Ctrl-M, Enter | Finish the line entry +Ctrl-R | Reverse Search history (Ctrl-S forward, Ctrl-G cancel) +Ctrl-T | Transpose previous character with current character +Ctrl-U | Delete from start of line to cursor +Ctrl-V | Insert any special character without perfoming its associated action (#65) +Ctrl-W | Delete word leading up to cursor (using white space as a word boundary) +Ctrl-Y | Paste from Yank buffer +Ctrl-Z | Suspend (unix only) + +### Emacs mode (default mode) + +Keystroke | Action +--------- | ------ +Ctrl-A, Home | Move cursor to the beginning of line +Ctrl-B, Left | Move cursor one character left Ctrl-E, End | Move cursor to end of line Ctrl-F, Right| Move cursor one character right Ctrl-H, BackSpace | Delete character before cursor Ctrl-I, Tab | Next completion -Ctrl-J, Ctrl-M, Enter | Finish the line entry Ctrl-K | Delete from cursor to end of line Ctrl-L | Clear screen Ctrl-N, Down | Next match from history Ctrl-P, Up | Previous match from history -Ctrl-R | Reverse Search history (Ctrl-S forward, Ctrl-G cancel) -Ctrl-T | Transpose previous character with current character -Ctrl-U | Delete from start of line to cursor -Ctrl-V | Insert any special character without perfoming its associated action -Ctrl-W | Delete word leading up to cursor (using white space as a word boundary) Ctrl-Y | Paste from Yank buffer (Meta-Y to paste next yank instead) Meta-< | Move to first entry in history Meta-> | Move to last entry in history @@ -116,9 +129,60 @@ Meta-T | Transpose words Meta-U | Upper-case the next word Meta-Y | See Ctrl-Y Meta-BackSpace | Kill from the start of the current word, or, if between words, to the start of the previous word +Meta-0, 1, ..., - | Specify the digit to the argument. `–` starts a negative argument. [Readline Emacs Editing Mode Cheat Sheet](http://www.catonmat.net/download/readline-emacs-editing-mode-cheat-sheet.pdf) +### Vi command mode + +Keystroke | Action +--------- | ------ +$, End | Move cursor to end of line +. | Redo the last text modification +; | Redo the last character finding command +, | Redo the last character finding command in opposite direction +0, Home | Move cursor to the beginning of line +^ | Move to the first non-blank character of line +a | Insert after cursor +A | Insert at the end of line +b | Move one word or token left +B | Move one non-blank word left +c<movement> | Change text of a movement command +C | Change text to the end of line (equivalent to c$) +d<movement> | Delete text of a movement command +D, Ctrl-K | Delete to the end of the line +e | Move to the end of the current word +E | Move to the end of the current non-blank word +f<char> | Move right to the next occurance of `char` +F<char> | Move left to the previous occurance of `char` +h, Ctrl-H, BackSpace | Move one character left +l, Space | Move one character right +Ctrl-L | Clear screen +i | Insert before cursor +I | Insert at the beginning of line ++, j, Ctrl-N | Move forward one command in history +-, k, Ctrl-P | Move backward one command in history +p | Insert the yanked text at the cursor (paste) +P | Insert the yanked text before the cursor +r | Replaces a single character under the cursor (without leaving command mode) +s | Delete a single character under the cursor and enter input mode +S | Change current line (equivalent to 0c$) +t<char> | Move right to the next occurance of `char`, then one char backward +T<char> | Move left to the previous occurance of `char`, then one char forward +w | Move one word or token right +W | Move one non-blank word right +x | Delete a single character under the cursor +X | Delete a character before the cursor +y<movement> | Yank a movement into buffer (copy) + +### Vi insert mode + +Keystroke | Action +--------- | ------ +Ctrl-H, BackSpace | Delete character before cursor +Ctrl-I, Tab | Next completion +Esc | Switch to command mode + [Readline VI Editing Mode Cheat Sheet](http://www.catonmat.net/download/bash-vi-editing-mode-cheat-sheet.pdf) [Terminal codes (ANSI/VT100)](http://wiki.bash-hackers.org/scripting/terminalcodes) -- GitLab