¿Cambiar el tamaño del panel no funciona para tmux en mac?
33
Después de buscar, pensé que ctrl + b (PREFIJO) luego ctrl + flecha debería cambiar el tamaño del panel actual. Pero no está funcionando. ¿Me estoy perdiendo algo?
Probablemente su terminal no esté enviando una secuencia (distinta) cuando mantiene Controlpresionada una tecla de flecha.
Intente ejecutar caty escribir las teclas (Control-C para salir). Probablemente encontrará que (por ejemplo) Upy Control- Upambos generan la misma secuencia.
Aplicación OS X Terminal
En su configuración predeterminada, la aplicación OS X Terminal envía la secuencia ^[[A(o ^[OA) si escribe Upo Control- Up(también cualquier combinación con Shifty Option, también).
Sin embargo, puede volver a configurar la Terminal para enviar los códigos apropiados. Es un poco tedioso, pero generalmente solo tienes que hacerlo una vez.
Terminal > Preferencias ...
Configuración de la pestaña de nivel superior
elige el perfil que deseas modificar
Pestaña Teclado
haga clic en el botón más para agregar un nuevo enlace
elige una tecla de cursor
establece el modificador en control
usa la Send Text:acción
escriba Escape(aparecerá como \033) seguido de [1;5y un carácter más:
Apara Up,
Bpara Down,
Cpara Righto
D para Left
haga clic en Aceptar para agregar el enlace
Por ejemplo, la secuencia final para Control- Updebería terminar pareciéndose \033[1;5A.
Estas secuencias son las que genera XTerm (consulte la documentación de ctlseqs para más detalles).
Repita el último paso para las otras teclas de flecha.
De hecho, las teclas Ctrl + {teclas de flecha} están asignadas para cambiar de aplicación. No están enviando la secuencia.
Biswanath
19
Probé esto en una máquina Mavericks de vainilla (MBP retina a fines de 2013), pero no funcionó sin desactivar también todos los atajos de teclado Ctrl + Flecha en Preferencias del sistema -> Teclado -> Atajos -> Control de misión. +1 para el consejo sobre catcómo usar para ver eventos de teclado
Alex Leach
funciona bien hasta que empiezo tmux. Obtengo ^ [[1; 5A ^ [[1; 5B antes de iniciar tmux, pero ^ [OA ^ [OB en tmux.
nakhli
1
@ Sinbadsoft.com: Parece que no tiene xterm-keyshabilitada esa ventana tmux ; es posible que desee set -gw xterm-keys on.
Chris Johnsen
funciona perfectamente para mí (el capitan).
ling
10
Al menos en Mavericks e iTerm2, debe mantener presionado Control, luego presionar b(en lugar de mantener presionado), luego mantener presionado un botón direccional. Esto envía casi las mismas secuencias que mantener presionado Control, bcon un botón direccional para que funcione.
Además, asegúrese de dirigirse a la configuración del teclado y en la pestaña de accesos directos deshabilite cualquier control de misión y los accesos directos de teclado que pueda tener para Controlmás una tecla direccional.
¡Gracias! cambiar los enlaces de ventanas de la misión / control de la misión en Atajos de teclado marcó la diferencia para mí
sixty4bit
7
Puede usar la tecla meta en lugar de la tecla de control en las combinaciones ctrl- ↑ y ctrl- ↓. En OSX Terminal, la meta clave predeterminada es la tecla de escape. Por ejemplo, para aumentar el tamaño de un panel, escriba ctrl-b esc- ↑.
Encuentro que la tecla de escape es difícil de alcanzar, así que en su lugar utilizo la tecla de opción como meta tecla. En Terminal.app puede cambiarlo yendo a Terminal> Preferencias> Perfiles> Teclado: marque la opción "Usar opción como meta clave".
Ahora puede escribir la opción ctrl-b- ↑ para aumentar el tamaño o la opción ctrl-b- ↓ para disminuir el tamaño y no tiene que reasignar las teclas de control de la misión.
Respuestas:
Probablemente su terminal no esté enviando una secuencia (distinta) cuando mantiene Controlpresionada una tecla de flecha.
Intente ejecutar
cat
y escribir las teclas (Control-C para salir). Probablemente encontrará que (por ejemplo) Upy Control- Upambos generan la misma secuencia.Aplicación OS X Terminal
En su configuración predeterminada, la aplicación OS X Terminal envía la secuencia
^[[A
(o^[OA
) si escribe Upo Control- Up(también cualquier combinación con Shifty Option, también).Sin embargo, puede volver a configurar la Terminal para enviar los códigos apropiados. Es un poco tedioso, pero generalmente solo tienes que hacerlo una vez.
haga clic en el botón más para agregar un nuevo enlace
control
Send Text:
acción\033
) seguido de[1;5
y un carácter más:A
para Up,B
para Down,C
para RightoD
para LeftPor ejemplo, la secuencia final para Control- Updebería terminar pareciéndose
\033[1;5A
.Estas secuencias son las que genera XTerm (consulte la documentación de ctlseqs para más detalles).
Repita el último paso para las otras teclas de flecha.
iTerm 2
iTerm 2 envía la secuencia esperada por defecto.
fuente
cat
cómo usar para ver eventos de tecladoxterm-keys
habilitada esa ventana tmux ; es posible que deseeset -gw xterm-keys on
.Al menos en Mavericks e iTerm2, debe mantener presionado
Control
, luego presionarb
(en lugar de mantener presionado), luego mantener presionado un botón direccional. Esto envía casi las mismas secuencias que mantener presionadoControl
,b
con un botón direccional para que funcione.Además, asegúrese de dirigirse a la configuración del teclado y en la pestaña de accesos directos deshabilite cualquier control de misión y los accesos directos de teclado que pueda tener para
Control
más una tecla direccional.fuente
Puede usar la tecla meta en lugar de la tecla de control en las combinaciones ctrl- ↑ y ctrl- ↓. En OSX Terminal, la meta clave predeterminada es la tecla de escape. Por ejemplo, para aumentar el tamaño de un panel, escriba ctrl-b esc- ↑.
Encuentro que la tecla de escape es difícil de alcanzar, así que en su lugar utilizo la tecla de opción como meta tecla. En Terminal.app puede cambiarlo yendo a Terminal> Preferencias> Perfiles> Teclado: marque la opción "Usar opción como meta clave".
Ahora puede escribir la opción ctrl-b- ↑ para aumentar el tamaño o la opción ctrl-b- ↓ para disminuir el tamaño y no tiene que reasignar las teclas de control de la misión.
fuente