Las teclas Inicio, Fin, Re Pág, Av Pág escriben todas ~en mi sesión de bash en lugar de mover el cursor / vista. ¿Por qué sucede esto y qué configuraciones necesito cambiar?
GNU bash, version 4.0.28(1)-release (x86_64--netbsd)
PuTTY v0.60
La pregunta originalmente leída:
En PuTTY, ¿por qué presionar la tecla "Inicio" en el shell (bash) escribe un "~"? O más bien, ¿cómo hago para mover el cursor al inicio del comando que he escrito?
(Pensé que la razón era que ~ es el directorio de inicio , pero las respuestas dicen que esto no es así).


Terminal -> Keyboard"Las teclas de función y el teclado".Esto sucede porque no tiene configurado correctamente el tipo de terminal de PuTTY o porque su servidor no tiene instaladas las definiciones correctas de terminfo.
En los sistemas basados en Debian, el paquete ncurses-term (versión 5.7 + 20081213-1) incluye archivos de definición de terminfo para los tipos de terminal putty , putty-256color y putty-vt100 . Si tiene instalado este paquete, puede establecer la "Cadena de tipo terminal" en "masilla" en lugar de la "xterm" predeterminada en la configuración de sesión de Masilla (Conexión -> Datos).
Stephen Irons también menciona "linux" como otro tipo de terminal que funciona; Creo que esto es correcto por experiencia previa, pero no lo he probado recientemente.
En mis sistemas, esto permite que Home y End funcionen correctamente, aunque PageUp / PageDown no desplaza la ventana de la consola. (Funcionan correctamente en aplicaciones ncurses como aptitude , y Shift-PgUp / Shift-PgDn desplazan la ventana de la consola).
fuente
TERM=puttyoTERM=putty-256colores más sabio, aunque desafortunadamente en este momento no parece funcionar correctamente para los colores 8-15 (que se supone que son las versiones brillantes de 0-7). Es muy probable que las otras "soluciones" se escapen a veces por su flagrante desprecio de las diferencias entre los terminales involucrados.yum install ncurses-termMe lo ordenó en CentOS 7 con masilla en el próximo inicio de sesión, gracias.puttyfuncione, pero rompe el soporte de mouse similar a xterm (por ejemplo, para Midnight Commander)Si desea verificar qué código envía PuTTY a su terminal cuando presiona una tecla o una combinación de teclas, solo tiene que emitir
Ctrl+Vay luego presionar la tecla deseada.Por ejemplo, en mi cuadro, presionar la tecla Inicio generará la siguiente cadena en mi terminal:
Eso significa que PuTTY envía el carácter de escape ^ [ seguido de la cadena [1 ~ .
Puede crear un
~/.inputrcarchivo en su$HOMEcarpeta o, alternativamente, un/etc/inputrcarchivo dependiendo de su sistema. Luego llene este archivo con los códigos PuTTY y las acciones de Bash coincidentes que desea que Bash active.Nota: Reemplace cada ^ [ carácter por la cadena equivalente \ e
En mi ejemplo, agregaré una línea con mi código de tecla de Inicio y la acción de inicio de línea (que por defecto está vinculada
Ctrl+Aen Bash):FYI, mi archivo inputrc tiene el siguiente contenido:
Desde @Cimbali: más comandos enlazables (como historial anterior: moverse hacia arriba en la lista de historial) disponibles en esta página de referencia .
fuente
TERM=linuxoTERM=puttyrompe el soporte de mouse similar a xterm. ¡Gracias!Crtl + A te lleva al inicio de la línea
Aquí hay una lista de atajos de teclado Bash
fuente
Lo que en realidad está enviando
^[[1~es una secuencia de escape de terminal que consiste en:Puede ver eso presionando Ctrl+ y Vluego Home.
Es posible que pueda solucionar su problema cambiando la configuración del teclado PuTTY para las teclas Inicio y Fin a rxvt (lo que hace la secuencia de escape
^[[Ho cambiando el $ TERM que está usando (o editando~/.inputrc).Por cierto, no hay relación entre la tilde que obtienes cuando presionas Homey la tilde que representa el directorio de inicio. Por ejemplo, en mi configuración Page-Downproduce,
^[[6~que también imprimiría una tilde si no se interpretara correctamente.fuente
~, y ninguna de las configuraciones del teclado PuTTY los hace funcionar. ¿Está mal mi golpe o es "normal"?echo $TERM?xterm(Límite de 15 caracteres argh)"\eOw": end-of-line(que es una letra mayúscula O) a su~/.inputrcarchivo.Ninguna de estas opciones funcionó para mí. Estoy ejecutando un viejo sistema AIX. Tuve que agregar los siguientes alias a mi perfil.
fuente
No pude hacerlo funcionar con otros métodos. Sin embargo, creé este script AutoHotkey que funciona, siempre y cuando su shell sea Bash:
Sin embargo, use con precaución , ya que no todas estas teclas rápidas de bash funcionan en otros programas.
fuente
screenque con la configuración predeterminada rompe Ctrl-A porque lo usa como un personaje de escape ...