The bind command allows rebinding of editing functions. You can use the command to display or modify the key bindings for EMacs-style editors and vi-style editors. The syntax of the bind command is:
bind |
Display the current editing key bindings |
bind key=definition |
Bind key to definition |
bind key |
Display the current definition for key |
bind key= |
Remove binding of key |
bind -m key=definition |
Define key to be a macro with definition |
bind -m |
Same as bind |
where:
key is the name of a key.
definition is the definition of the macro to be bound to the key.
The following are some of the more important default key bindings for EMacs-style editors:
^A = beginning-of-line |
^B = backward-char |
^D = eot-or-delete |
^E = end-of-line |
^F = forward-char |
^G = abort |
^K = kill-to-eo |
^L = redraw |
^N = down-history |
^P = up-history |
^R = search-history |
^^ = quote |
^? = delete-char-backward |
^H = delete-char-backward |
^[b = backward-word |
^[d = delete-word-forward |
^[f = forward-word |
^[^H = delete-word-backward |
^[^[ = complete |
^[? = list-command |
The following are some of the more important default key bindings for vi-style editors:
a = append |
A = append at EOL |
c = change |
d = delete |
G = go to line |
h = backward character |
i = insert |
I = insert at BOL |
j = next line |
k = previous line |
l = forward line |
n = next match |
N = prev match |
p = put after |
P = put before |
r = repeat |
R = replace |
s = substitute |
u = undo |
x = delete character |
X = delete previous character |
y = yank |
~ = transpose case |
_ = last argument |
* = expand |
= = list expansion |
- = previous line |
+ = next line |
sp = forward char |
# = comment out command |
? = search history from beginning | |
/ = search history from current |
In insert mode, the following keystrokes are special:
^? = delete character |
^H = delete character |
^U = kill line |
^W = delete word |