Estoy acostumbrado a iTerm2 (o Terminal.app para este caso) en OS X. Pero quiero moverme para usar tmux (o pantalla, pero el problema es similar a ambas aplicaciones).
Entonces, mi idea es tener una sola pestaña iTerm con una sesión tmux abierta con múltiples pestañas. Para hacer la transición, tengo una característica básica que necesito configurar en tmux: cambie la pestaña 'n' usando cmd + n (como Firefox, Chrome, iTerm2, etc.)
Sin embargo, no puedo encontrar una manera de asignar la tecla cmd en el teclado mac. Primero intenté implementar cmd como una clave de prefijo, sin éxito. He intentado configurar
set-option -g prefix M-a (hoping for Meta-a)
set-option -g prefix ^a (hoping for ^ to work)
Pero nada funciona. es posible? Realmente no necesito vincular el prefijo a cmd, pero quiero poder cambiar las pestañas tmux con cmd + n.
Gracias
Respuestas:
Desea invocar una secuencia de pulsaciones de teclas (primero
Ctrl-b
, luego n que va de 0 a 9).Su mejor opción es utilizar una utilidad de atajo de teclado como Butler o Keyboard Maestro para hacer esto por usted.
Usando Butler :
Seleccione + »Elemento inteligente» Pulsaciones de teclas , configure la tecla de acceso rápido
Cmd-1
. PresioneCtrl-B
, luego1
para las pulsaciones de teclas . Configúrelo para que solo sea válido en Terminal (o iTerm). Te advertirá que otras aplicaciones podrían no gustarle, pero eso ya lo sabes.Usando Keyboard Maestro :
Cree un nuevo grupo a la izquierda que solo esté disponible en Terminal (o iTerm).
Agregue un nuevo elemento, activado por Hot Key Trigger (
Cmd-1
) y agregue dos pulsaciones de teclas a sus acciones:Ctrl-B
y1
.También es posible que desee echar un vistazo a este tema ; sin
Command
embargo, no se usa y no funcionó para mí usando Terminal.De la documentación de tmux :
No admiten una tercera tecla modificadora.
fuente
En iTerm2, puede asignar accesos directos a códigos hexadecimales que se envían al terminal. Ir a las preferencias de iTerm2 -> Teclas. En Global Shortcut Keys, haga clic en + y agregue el tipo de acceso directo deseado, como cmd + 1, que se capturará. Luego seleccione "Enviar código hexadecimal". En el cuadro que aparece, escriba los códigos hexadecimales que desea enviar a tmux separados por espacios. Ctrl-B es 0x02, por lo que para "Ctrl-B 1", escriba "0x02 0x31". Consulte aquí para obtener más códigos hexadecimales: http://www.nthelp.com/ascii.htm
Mapeé Cmd con h, j, k, l para moverse entre los paneles tmux, y Cmd con% y "para crear las divisiones. Probablemente haré algo similar para mover entre divisiones vim con una tecla de control.
fuente
Se pueden hacer accesos directos especiales con Terminal.app. Me acabo de enterar el otro día, pero esto puede haber sido posible antes de Lion.
Vaya a Preferencias> Configuración y haga clic en la pestaña "Teclado". Ahora necesita agregar un nuevo atajo de teclado haciendo clic en el ícono más debajo del cuadro. Ahora desea establecer un combo de teclas que "Envía cadena a shell".
Ejemplo: Digamos que quiero configurar M-LeftArrow para que se asigne a
prefix-p
(ventana anterior).Ahora solo escriba en
prefix-p
el cuadro de entrada dondeprefix
está lo que haya configurado para tmux (uso cntrl-a para que aparezca el cuadro\001p
). Tenga en cuenta que si comete un error, se insertarán los caracteres eliminados en lugar de eliminarlos, así que presione el botón "Eliminar un carácter" para retroceder, en caso de que se equivoque.Caracteres especiales que he establecido para hacer la vida más fácil:
También puede modificar cntrl-anything y shift-anything, pero recuerde que estos podrían interferir con su $ EDITOR u otros programas, así que tenga cuidado con las funciones especiales que podrían volverse inútiles.
Además, tenga en cuenta que no pude descubrir cómo duplicar esta funcionalidad en iTerm2.
fuente
También puede considerar la integración nativa (pero muy experimental) que iTerm2 ofrece con tmux: http://code.google.com/p/iterm2/wiki/TmuxIntegration
De esa manera, cuando presione Cmd-D para dividir la pantalla, iTerm2 dividirá la pestaña por usted. Esto es genial, porque la división es nativa, por lo que puede arrastrar el borde en el medio para reajustar los anchos, o puede seleccionar un panel haciendo clic. Lo mismo ocurre con las nuevas pestañas / ventanas (pero los accesos directos son ligeramente diferentes; de lo contrario, no tendría forma de agregar pestañas que no sean tmux).
Y al igual que tmux, si desconecta y vuelve a conectar, todo se guardará para usted.
Sin embargo, hay dos advertencias: * esta es una característica muy experimental y muy escamosa para mí. * Tendrá que construir tmux usted mismo (usando el archivo en algún lugar del enlace de arriba).
-Chris
fuente
cmd+D
divide los paneles de iTerm2, no los de tmux.tmux -CC
.También puede consultar esta publicación de blog que tiene explicaciones muy detalladas sobre la integración de tmux / iterm: http://tangledhelix.com/blog/2012/04/28/iterm2-keymaps-for-tmux/
fuente