As ligações (se aparecem no manual ou não) aparecem quando você digita
bind -p
Por exemplo (listagem parcial):
"\C-g": abort
"\C-x\C-g": abort
"\e\C-g": abort
"\C-j": accept-line
"\C-m": accept-line
# alias-expand-line (not bound)
# arrow-key-prefix (not bound)
# backward-byte (not bound)
"\C-b": backward-char
# backward-byte (not bound)
"\C-b": backward-char
"\eOD": backward-char
"\e[D": backward-char
"\C-h": backward-delete-char
"\e[3;5~": backward-delete-char
"\C-?": backward-delete-char
"\C-x\C-?": backward-kill-line
"\e\C-h": backward-kill-word
"\e\C-?": backward-kill-word
"\eb": backward-word
"\e<": beginning-of-history
O manual documenta a opção -p
:
The
bind -p
command displays Readline function names and bindings in a format that can put directly into an initialization file. See Bash Builtins.
As ligações (lendo o código fonte) dependem do mapa de chaves. Os que eu citei são do mapa de chaves do emacs , que é inicializado a partir de uma tabela interna antes que os scripts sejam aplicados. Existe um ficheiro correspondente com tabelas para o mapa de teclas do vi .
Tudo isso faz parte de Readline (que é empacotado com bash
). Quando bash
é inicializado, ele define as ligações usando essas tabelas. Dependendo dos outros arquivos, ele lê a partir de /etc/inputrc
, ~/.inputrc
, pode adicionar, modificar ou remover algumas dessas ligações incorporadas.