Here is a complete list of all vi-mode control commands. As for the emacs mode commands, the sequences such as "[ A" are for ANSI standard terminal arrow keys and were added for ksh93h.
| Command | Meaning |
|---|---|
| h | Move left one character |
| [ D | Move left one character (ksh93h and newer) |
| l | Move right one character |
| space | Move right one character |
| [ C | Move right one character (ksh93h and newer) |
| w | Move right one word |
| b | Move left one word |
| W | Move to beginning of next nonblank word |
| B | Move to beginning of preceding nonblank word |
| e | Move to end of current word |
| E | Move to end of current nonblank word |
| 0 | Move to beginning of line |
| [ H | Move to beginning of line (ksh93h and newer) |
| ^ | Move to first nonblank character in line |
| $ | Move to end of line |
| [ Y | Move to end of line (ksh93h and newer) |
| i | Insert text before current character |
| a | Insert text after current character |
| I | Insert text at beginning of line |
| A | Insert text at end of line |
| r | Replace one character (doesn't enter input mode) |
| R | Overwrite existing text |
| dh | Delete one character backwards |
| dl | Delete one character forwards |
| db | Delete one word backwards |
| dw | Delete one word forwards |
| dB | Delete one nonblank word backwards |
| dW | Delete one nonblank word forwards |
| d$ | Delete to end of line |
| d0 | Delete to beginning of line |
| D | Equivalent to d$ (delete to end of line) |
| dd | Equivalent to 0d$ (delete entire line) |
| C | Equivalent to c$ (delete to end of line, enter input mode) |
| cc | Equivalent to 0c$ (delete entire line, enter input mode) |
| s | Equivalent to xi (delete current character, enter input mode) |
| S | Equivalent to cc (delete entire line, enter input mode) |
| x | Equivalent to dl (delete character backwards) |
| X | Equivalent to dh (delete character forwards) |
| k or - | Move backward one line |
| [ A | Move backward one line (ksh93h and newer) |
| j or + | Move forward one line |
| [ B | Move forward one line (ksh93h and newer) |
| G | Move to line given by repeat count |
| /string | Search forward for string |
| ?string | Search backward for string |
| n | Repeat search forward |
| N | Repeat search backward |
| f x | Move right to next occurrence of x |
| F x | Move left to previous occurrence of x |
| t x | Move right to next occurrence of x, then back one space |
| T x | Move left to previous occurrence of x, then forward one space |
| yh | Yank one character backwards |
| yl | Yank one character forwards |
| yb | Yank one word backwards |
| yw | Yank one word forwards |
| yB | Yank one nonblank word backwards |
| yW | Yank one nonblank word forwards |
| y$ | Yank to end of line |
| y0 | Yank to beginning of line |
| Y | Equivalent to y$ (yank to end of line) |
| yy | Equivalent to 0y$ (yank entire line) |
| u | Undo last editing change |
| U | Undo all editing changes made to the line |
| . (dot) | Repeat last editing command |
| | | Move to absolute column position |
| ; | Redo last character finding command |
| , | Redo last character finding command, but in opposite direction |
| % | Move to matching (, ), {, }, [, or ] |
| \ | Do filename/command/variable completion |
| CTRL-I (TAB) | Do filename/command/variable completion (only for set -o viraw) (starting with ksh93h) |
| * | Do filename/command/variable expansion (onto command line) |
| = | Do filename/command/variable expansion (as printed list) |
| ~ | Invert ("twiddle") case of current character(s) |
| _ | Append last word of previous command, enter input mode |
| v | Run the hist command on the current line (actually, run the command hist -e ${VISUAL:-${EDITOR:-vi}}); usually this means run the full vi on the current line |
| CTRL-J | Same as ENTER |
| CTRL-L | Start a new line and redraw the current line on it |
| CTRL-M | Same as ENTER |
| CTRL-V | Print the version of the Korn shell |
| # | Prepend # (comment character) to the line and send it. If the line starts with #, remove the leading # and all leading # characters after any embedded newlines |
| @ x | Insert expansion of alias _x as command mode input |
Copyright © 2003 O'Reilly & Associates. All rights reserved.