35 votos

El uso de ctrl + teclas de flecha, con la Masilla y la pantalla

He buscado y no podía encontrar una solución para este lugar. Estoy usando la Masilla de Windows para conectarse a varios servidores donde puedo ejecutar bash y la pantalla. Parece bash funciona bien con ctrl + teclas de flecha para saltar de la palabra-a-palabra en la línea de comandos, pero dentro de la pantalla no funciona. No en pantalla, pulse la tecla ctrl izquierda envía "^[°c y ctrl-derecho "^[OD". Dentro de la pantalla en lugar de obtener "^[[C" y "^[[D", que parece ser que los códigos sólo para la izquierda/derecha teclas de flecha. Es allí cualquier manera de conseguir la pantalla para reconocer ctrl + teclas de flecha, cuando el uso de la Masilla? (Para su INFORMACIÓN, yo no recuerdo haber este problema cuando se utiliza gnu-terminal en linux en vez de Masilla).

ACTUALIZACIÓN: parece Que la Masilla es el problema, ya que no es el envío de los códigos de escape que son necesarios para que esto funcione. Se la voy a dar hasta para ahora y usando Cygwin+mintty.

25voto

Fayer Michael Puntos 101

Como se mencionó en aquí, u puede poner en ~/.inputrc:

"\eOD": backward-word
"\eOC": forward-word

A mí me funcionó.

13voto

jason saldo Puntos 5036

Editar:

He aquí lo que funcionó para mí:

  • Mi ~/.bashrc conjuntos TERM=xterm (de la mina pasa a ser TERM=xterm-256colors) reemplazar la pantalla de la TERM=screen
  • Me puse Masilla > Terminal > Funciones > Aplicación Deshabilitar las teclas de cursor de modo que comprobado
  • Entro tput smkx en el indicador Bash
  • Ahora Ctrl + teclas de Flecha saltar palabra-por-palabra

  • Para fines informativos, si hago:
    tput smkx | hexdump -c
    Puedo conseguir
    0000000 033 [ ? 1 h 033 =
    y
    tput rmkx | hexdump -c
    me da
    0000000 033 [ ? 1 l 033 >

Creo que hay una forma de volver a trabajar esto en algo un poco mejor, pero es lo que he conseguido hasta ahora y parece que funciona.

Original respuesta:

De info screen:

Cada ventana en una `pantalla' de la sesión emula un terminal VT100, con algunos funciones extra añadido. El emulador VT100 es rígida, no hay otra tipos de terminal puede ser emulado.

Y VT100s no tiene Ctrl-Flecha de códigos de teclas.

4voto

martjno Puntos 1024

Estoy un poco sorprendido de que tienes la Masilla para enviar ctrl-arrowkeys correctamente, incluso sin el uso de la pantalla, como que no ha trabajado nunca para mí. Mi solución fue cambiar a la utilización de alt-arrowkeys (meta-arrowkeys), que creo que tienen el mismo hacia adelante-palabra / atrás-palabra de unión en bash por defecto, aunque he tenido que emitir un par de comandos extra para zsh reconocerlos:

bindkey "^[^[[C" adelante-palabra # Meta-RightArrow
bindkey "^[^[[D" de las versiones anteriores de word # Meta-LeftArrow

4voto

Collin Grady Puntos 111

En el caso de los demás a encontrar esta vieja pregunta como lo hice yo, una más reciente de la solución:

Ctrl y las teclas de flecha no funciona en la masilla! ¿Qué debo hacer?

masilla invierte el sentido de la tecla del cursor en el modo de control, que es un poco duro para tmux para detectar correctamente. Para obtener las teclas ctrl derecho, cambiar el terminfo configuración para kUP5 (Ctrl-etc) son ajustados versiones, y deshabilitar smkx/rmkx así tmux no cambia el modo. Por ejemplo, con esta línea .tmux.conf (suponiendo que se tiene un conjunto de términos para xterm):

set-g terminal-overrides "xterm*:kLFT5=\eOD:kRIT5=\eOC:kUP5=\eOA:kDN5=\eOB:smkx@:rmkx@"

Tenga en cuenta que esto sólo funcionará en el tmux 1.2 y arriba.

http://stuff.mit.edu/afs/athena/project/bsd/src/tmux-1.3/FAQ

0voto

jcollum Puntos 10236

Usted debe mirar en la documentación de terminfo, ncurses, la pantalla y la masilla si desea depurar/configure correctamente. También bash los accesos directos pueden ser configurados con inputrc. Buscar en las páginas man de bash y la búsqueda de inputrc.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: