Essa resposta é específica de determinados emuladores de terminal, não acho que possa ser generalizada fora do Solaris.
Em ksh, pressione Ctrl + V e depois em End . Isso irá inserir um caractere de escape literal seguido pelo resto da seqüência de escape que a chave envia. Por exemplo, você pode ver ^[[4~
(o ^[
no início é, na verdade, um caractere de escape, não ^
seguido de [
). Faça o mesmo para as outras teclas do cursor que você deseja reconfigurar.
No seu .kshrc
, defina uma interceptação do KEYBD para traduzir as seqüências de escape das teclas de função para as ligações dos comandos que você deseja que a chave chame. Por exemplo (você pode precisar ajustar as seqüências de escape - observe que dentro de $'…',
\ e 'significa um caractere de escape):
keybd_trap () {
case ${.sh.edchar} in
$'\e[1~') .sh.edchar=$'keybd_trap () {
case ${.sh.edchar} in
$'\e[1~') .sh.edchar=$'%pre%1';; # Home = beginning-of-line
$'\e[4~') .sh.edchar=$'%pre%5';; # End = end-of-line
$'\e[5~') .sh.edchar=$'\e>';; # PgUp = history-previous
$'\e[6~') .sh.edchar=$'\e<';; # PgDn = history-next
$'\e[3~') .sh.edchar=$'%pre%4';; # Delete = delete-char
esac
}
trap keybd_trap KEYBD
set -o emacs
1';; # Home = beginning-of-line
$'\e[4~') .sh.edchar=$'%pre%5';; # End = end-of-line
$'\e[5~') .sh.edchar=$'\e>';; # PgUp = history-previous
$'\e[6~') .sh.edchar=$'\e<';; # PgDn = history-next
$'\e[3~') .sh.edchar=$'%pre%4';; # Delete = delete-char
esac
}
trap keybd_trap KEYBD
set -o emacs