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.