La pantalla va con Ctrl+ A. tmux, por otro lado, tal como se desarrolló dentro de la pantalla, usa Ctrl+ B. Sin embargo, ambas pulsaciones de teclas también se usan en editores, shells, etc. Por lo tanto, elegir cualquiera de las dos degrada la experiencia del usuario y la funcionalidad de esas herramientas cuando se usan en tmux o screen.
¿Qué prefijo está en conflicto con las combinaciones de teclas de otros programas y shells?
gnu-screen
hotkeys
tmux
Scott
fuente
fuente
~/.tmux.conf
, no olvide reiniciar el servidor tmux para que los cambios surtan efecto ( superuser.com/q/188491/105108 ).Respuestas:
Creo que
^\
(aka^|
) es el mejor si está en una posición conveniente en la distribución del teclado. Sus usos en otros programas son bastante raros:SIGQUIT
a un proceso^C
es interceptadotoggle-input-method
en emacsNo conozco otros usos. Tenga cuidado de no matar accidentalmente un proceso fuera
tmux
oscreen
después de acostumbrarse. Sin embargo, me sucedió solo una vez en algunos años.~/.tmux.conf
~/.screenrc
fuente
C-`. Can I escape the
`character de alguna manera?'C-\'
lugar de 'C- \' en la configuración de tmux.Para las personas que desean utilizar el backtick como escape en tmux, querrán agregar:
Ese último es importante, de lo contrario no puede escribir una tecla de retroceso para otros fines :-)
fuente
$()
conchas. También se vuelve un dolor una vez que comienzas a escribir mucho Markdown. Lo he estado usando durante varios años, pero desafortunadamente tendré que cambiarlo ahora.bind-key C-a set-option -g prefix C-a
. Cada vez que necesito usar backticks, golpeo, lo`-Ctrl-a
que establece mi prefijoC-a
. Y tengobind-key C-b set-option -g prefix `
que poder golpearC-a-C-b
para volverTambién se sabe que Ctrl + A causa problemas con Emacs, incluido Bash en modo Emacs. Parece que esto no es un problema para ti.
Ctrl + O es la otra opción que he visto. Aparentemente, este es el valor predeterminado en RatPoison (este es un administrador de ventanas X que no necesita un mouse). He usado Ctrl + O cuando uso pantallas anidadas: Ctrl + O para el exterior y Ctrl + A para las interiores. Funcionó bien, pero asustó un poco a mis colegas. :-)
Estaba pensando y si usa vi en lugar de Emacs, hay algunas alternativas. Ctrl + G no se usa mucho, por ejemplo.
fuente
set -g prefix2 C-j; bind-key C-j send-prefix -2
C-j
entra en conflicto con CtrlP. Mover hacia arriba y hacia abajo la lista de búfer usaC-k
yC-j
respectivamenteMe
CAPS-LOCK
asignaron globalmente aESC
. Luego, usoM-Space
(es decir,CAPS-LOCK
+Space
) para mi prefijo.fuente
CAPS-LOCK
(pensando en mi próximo comando o algo) tmux, o iTerm, no estoy seguro de qué está causando esto, recibe elESC
comando repetidamente, loM-Space
que hace que no funcione. ¿Hay alguna forma de deshabilitar ese problema clave que se repite? Por ejemplo, funciona cuando presiono rápidamenteCAPS-LOCK + Space
, pero no si mantengo presionadoCAPS-LOCK
durante un segundo más o menos y luego presionoSpace
no registra elM-Space
acorde ...Yo uso un sistema complejo para la pantalla. Mi escape predeterminado está configurado en \ 140 \ 140, que es una tecla de retroceso. Ctrl-A complica tanto la edición de Emacs como de la línea de comandos para mí dentro de Zsh, y no me gusta Ctrl-O (operaciones de 2 manos para la mayoría de las acciones de pantalla).
Vuelvo a vincular 's' a la pantalla 1 para que se creen nuevas sesiones de izquierda a derecha en el teclado a partir de 1. Esto me permite reservar la pantalla 0 para lo que considero ventanas persistentes o de referencia. Es muy rápido un gesto con una mano para (retroceso) 1, (retroceso) 2, (retroceso) 3 para cambiar entre ventanas.
El problema con el uso de backtick en un entorno Unix es cuando se intenta cortar y pegar el código de script shell / perl. Por esta razón, presiono la tecla F11 / F12 para cambiar entre mi personaje de escape.
Esto cambiará el escape a Ctrl-O para cuando esté haciendo operaciones de cortar y pegar. He descubierto que hacer doble clic es simple, y una buena compensación para la mayoría de las operaciones de pantalla.
Revisando esta respuesta con una solución más nueva que permite alternar el modo presionando F12 y usando un subtítulo para indicar el modo.
fuente
Yo uso
Ctrl-Q
entmux
y ha funcionado bien hasta ahora. Sin embargo, debo mencionar que entra en conflicto con el control de flujo de shell. Por defecto,Ctrl-Q
se utiliza para volver a habilitar la salida después de detenerla conCtrl-S
. Después de haber sido sorprendido por un caparazón atascado varias veces después de golpear accidentalmenteCtrl-S
, he aprendido a no presionarCtrl-S
.(También se podría desactivar el control de flujo por completo con
stty -ixon
, o vincular diferentes teclas astty start
ystty stop
.)fuente
quote-inserted
. Ejemplo de uso (en emacs): si quiero buscar el siguiente carácter de tabulación<Ctrl-s>+<Ctrl-q>+<TAB>
Me gusta reservar
^Space
para operaciones muy especiales / comunes porque considero que es el prefijo más fácil de escribir, pero en este momento lo intento mapeado comoprefix
in tmux .Deja tus dedos libres para saltar instantáneamente al comando que deseas escribir. Darle una oportunidad.
fuente
set -g prefix2 C-j; bind-key C-j send-prefix -2
Una sugerencia tardía:
ctrl-s
.ctrl-s
tiene una serie de ventajas:ctrl-a
(de hecho, para la mayoría de typers se utilizan los mismos dos dedos se utilizan paractrl-a
), por lo que el interruptor de la memoria muscular de lactrl-a
quectrl-s
es trivial - para mí, pasó a segundo plano dentro de aproximadamente una hora de probarlo primero.ctrl-a
para las operaciones de "regreso al comienzo de la línea" de estilo emacs o de "número de incremento" de estilo vim. O bueno, para ejecutar la pantalla dentro de un panel tmux sin tener que preocuparse por escapar de caracteres de prefijo para controlar la instancia de pantalla incrustada. (A menudo hago esto usando un tmux local con paneles que contienen sesiones ssh a servidores remotos, en los que ejecuto la pantalla)Por supuesto, la razón por la que no hay nada en ctrl-s es que en la terminal, tradicionalmente se usa para el control de flujo, que se remonta a los días anteriores a las herramientas de paginación como
more
yless
eran comunes. Estoy seguro de que algún programa de terminal GUI en algún lugar todavía tiene esa funcionalidad de control de flujo habilitada de manera predeterminada, pero en realidad no me he topado con uno; todos los programas de terminal gui que he probado parecen ignorarlo por completo, lo que hace que esa conveniente combinación de teclas esté disponible para usos más productivos.Entonces, si no está utilizando screen / tmux desde dentro (por ejemplo) de un terminal Linux sin formato, sino desde un terminal basado en GUI, le recomiendo
ctrl-s
probarlo; está hecho más rápido en tmux y la pantalla es mucho más conveniente para mí.fuente
Puede ser una clave sin conflicto C-z, ya que generalmente se usa para enviar el programa a un segundo plano para continuar otra cosa en el shell que lo inició. No hago esto cuando tengo tmux.
fuente
fg
mucho después de escribir Cz erróneamente.He oído hablar de `(backtick) y luego solo tienes que escribirlo dos veces para un backtick real. Podría ser mejor para los usuarios de vi que están acostumbrados a la acción (a menos que hagas el bloqueo de mayúsculas).
fuente
'; bind '
' enviar-prefijo; ver la respuesta de Darren Hall arriba.Recomiendo
C-j
, que no interfiere mucho con vi o emacs. Esencialmente, estoy de acuerdo con un comentario de Susam Pal, que parece digno de aparecer como respuesta, ya que todos los demás parecen tener conflictos significativos desde mi punto de vista.fuente
Para el diseño del teclado del Programador Dvorak, es bastante bueno usar una tecla menos (guión) como prefijo, es decir,
ctrl
+-
.La tecla menos está en la posición de la tecla de comillas simples en el diseño qwerty. También tengo la función de tecla de bloqueo de mayúsculas como una tecla Ctrl. El siguiente es un tmux conf, para configurarlo como prefijo:
Te preguntarás, ¿por qué se usa el guión bajo en lugar de menos? Consulte Tmux: ¿cómo me uno a C— (control-menos)?
Para qwerty, puede aplicar ¿Cómo enlazo la clave de prefijo tmux a C- '? solución, para retener el mismo atajo.
Yo diría que este es un prefijo perfecto si usa Vim / Neovim. Debido a que los prefijos, como
ctrl
+a
octrl
+b
, sombrean (superponen) la funcionalidad de Vim, de cualquier manera.fuente
Personalmente,
b
está demasiado lejosCtrl
para mí. Cuando uso tmux, siempre cambio el enlace de Cb a Ca. El principal conflicto con Ca es seleccionar todo, pero no he encontrado que esto sea un problema con los programas con los que uso tmux.fuente
Como usuario de GNU emacs, zsh y MS Windows, uso Control-T. (p. ej. en .screenrc :)
Sí, Control-T tiene algo vinculado, como el menú desplegable en la aptitud de Ubuntu o transponer caracteres en Emacs.
Hice caso omiso de Co porque requiere dos manos para mí.
fuente
Creo que la mejor solución es ^ C. Emacs usa ^ C como clave de prefijo, y encuentro que cuando necesito escribir ^ C en un shell casi siempre escribo dos de todos modos. :-)
fuente
Yo uso el bloqueo de mayúsculas, y en OSX necesitas hacer algunas cosas especiales para que funcione.
https://gist.github.com/burtlo/3788048
fuente
Puedes usar backtick. Algunas versiones anteriores de tmux no admiten retroceso, por lo que puede hacer lo siguiente para solucionarlo (eso agregaría C-`, C- @ y C-space como meta al mismo tiempo):
Normalmente reasigno mi CapsLock a Ctrl, por lo que tiene aún más sentido con la tecla de retroceso.
fuente
La mayoría de las respuestas aquí usan Ctrl como parte de una combinación de teclas.
Cuando usé Ctrl, mi dedo meñique comenzó a doler porque siempre tenía que extenderlo a Ctrl.
Utilizo el
Alt-j
que escribo con el pulgar izquierdo y el índice derecho y es muy conveniente. Tampoco he encontrado colisiones con ningún otro programa hasta ahora.fuente
Para la pantalla GNU, mapeando el backtick para escapar, lo siguiente en ~ / .screenrc funciona para mí.
fuente
Me gusta la sugerencia de enlazar ctrl- \ como prefijo , pero para que esto funcione en Linux Mint 12, tuve que escapar del lugar del enlace en la parte inferior. De lo contrario, no sería necesario. Vea mi .tmux.conf aquí: Uso de tmux con emacs y vim
fuente
Creo que los usuarios de Mac encontrarán el
§
más conveniente que el backtick.En el teclado que no es Mac , la tecla de retroceso se coloca aproximadamente en la misma tecla que
§
en los teclados Mac. Por lo tanto, para experimentar la misma conveniencia que las personas que sugieren usar la tecla de retroceso, use el signo de párrafo en un teclado Mac.Usar la tecla de retroceso en los teclados de Mac es complicado, ya que se encuentra muy cerca de la izquierda (⇧) shift, (⌃) control y (⌥) teclas alternativas. En MacBooks, incluso cerca de la
fn
tecla izquierda .fuente