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=putty
oTERM=putty-256color
es 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-term
Me lo ordenó en CentOS 7 con masilla en el próximo inicio de sesión, gracias.putty
funcione, 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+V
ay 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
~/.inputrc
archivo en su$HOME
carpeta o, alternativamente, un/etc/inputrc
archivo 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+A
en 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=linux
oTERM=putty
rompe 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
^[[H
o 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~/.inputrc
archivo.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
screen
que con la configuración predeterminada rompe Ctrl-A porque lo usa como un personaje de escape ...