No funcionan algunas teclas en SSH
Mi proveedor de hosting compartido (Gandi) proporciona un SSH limitado, dentro de un contenedor LXC. Las teclas Home, End, Page Up/Down no funcionaban. Por ejemplo, PageDown se transformaba en la «tilde» ~
. En vim veía que registraba ^[[6~
.
El protocolo SSH proporciona un campo de tipo de terminal (vt100
, xterm
…). El cliente debería pasarlo al servidor al conectar. En local es xterm-256color
, pero en servidor:
hosting-user@paas_13128:/srv/data$ echo $TERM
vt100
Así que lo cambié a xterm mediante export TERM=xterm
, y se corrigió en vim. En el prompt todavía seguía mal. Leyendo en la wiki de Arch mencionaban que las secuencias de escape podrían estar ausentes de /etc/inputrc
. En mi caso estaban comentadas:
# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history
# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward
Puesto que no puedo modificar ese fichero al no tener permisos de superusuario, me creé un ~/.inputrc
hosting-user@paas_13128:/srv/data$ cat ~/.inputrc
# alternate mappings for "page up" and "page down" to search the history
"\e[5~": history-search-backward
"\e[6~": history-search-forward
Y a continuación cargué con
bind -f ~/.inputrc