As chaves Home/End do Solaris não funcionam como Debian/Ubuntu

As chaves Home/End do Solaris não funcionam como Debian/Ubuntu

Estou usando o PuTTY para conectar-me a um sistema Solaris.

Sou apenas um usuário (sem acesso root). Tudo o que sei sobre o sistema é

Oracle Corporation SunOS 5.11 11.1 janeiro de 2014

Meu problema vem das configurações do teclado. Todas as teclas insert/home/pageup/pagedown/end/deletesão exibidas ~em vez de mover o cursor como no Ubuntu.

Já tentei vários truques encontrados na internet, mas nada funciona.

echo $TERMxterme o putty está bem configurado com o xterm.

Eu não sei o que fazer.

Responder1

Para suportar mapeamentos de teclas alternativos, você pode usar o inputrcarquivo init da biblioteca readline GNU.

Cada usuário pode ter seu próprio .inputrcarquivo em seu diretório inicial. Ou use global /etc/inputrcpara configurá-lo para todos os usuários.


Para verificar o mapa de teclas atual, entre no modo literal ( Ctrl-v) seguido pela chave para mapear. Isso impedirá a shellanálise e execução da chave e fornecerá a sequência de chaves.

Por exemplo

Ctrl-v Home
^[[1~

A ^[sequência é equivalente à [Esc]chave, portanto precisa ser mapeada como e\.

Para testar um novo mapa use o bindcomando:

bind '"\e[1~": beginning-of-line'

Quando isso funcionar, você pode adicionar o bindcomando ao seu perfil de shell ou adicionar todos os mapas ao seu .inputrcarquivo.


ParaDebian/Ubunutucom base em mapeamentos de teclas, adicione o seguinte ao seu ~/.inputrcarquivo pessoal:

# for linux console and RH/Debian xterm
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
"\e[1~": beginning-of-line
"\e[4~": end-of-line
# commented out keymappings for pgup/pgdown to reach begin/end of history
#"\e[5~": beginning-of-history
#"\e[6~": end-of-history
"\e[5~": history-search-backward
"\e[6~": history-search-forward
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word

Em seguida, faça login novamente ou inicie um novo shell.

informação relacionada