Soy un nuevo usuario de GNU Screen. He estado usando Bash durante mucho tiempo y quiero probar GNU Screen.
Como sabes, GNU Screen usa 'Ca' (Control-A) como el carácter de comando. El problema es que esto interfiere con la función de Edición de línea en Bash (y GNU Readline), porque Control-A en Bash se moverá al comienzo de la línea ".
Sé que puedo configurar el Carácter de comando en otra secuencia de teclas , como "^ Q" o "` `" (Retroceso), pero tengo problemas para encontrar otra secuencia de teclas que aún no esté en uso (^ Q es utilizado por el terminal , retroceso se utiliza al escribir scripts de shell). Parece que el carácter de comando solo puede tener uno o dos caracteres de longitud. ¿Puedo configurar el carácter de control de pantalla GNU para que sea algo así como "Control-Shift-A"?
(Todavía no puedo usar más de un hipervínculo, por lo que no puedo vincular a la documentación de Bash)
fuente
screen
en otros sistemas, es mejor que te quedes con las combinaciones de teclas predeterminadas, o al menos las aprendas primero.^A a
enviará, por defecto, el^A
combo de teclas habitual . Es un poco incómodo si usa mucho ese combo; Por lo general, uso laHOME
clave debido a esto. Pero eso tampoco siempre funciona.Respuestas:
El problema con Control- Shift- Aes que la mayoría de los programas de emulación de terminal no envían un código diferente para él desde el enviado Control- A, por lo que no habría manera de pantalla para ver la diferencia.
Es posible que pueda usar Cq si
stty -ixon
deshabilita el "control de flujo de software" en el tty. Usualmente hago esto para poder usar Cs para buscar en la línea de comando.Puede considerar C- ^, ya que parece estar generalmente sin consolidar. Es Control- Shift- 6en diseños de teclado de EE. UU., Pero puede ser difícil escribir en otros diseños.
La mayoría de la gente nunca usa el carácter de control tty C- \ para enviar SIGQUIT. Para usarlo, deshabilite la funcionalidad tty con with
stty quit undef
y únala como su clave de prefijo. Sin embargo, esto es un poco arriesgado, ya que si presiona C- \ en un tty donde la tecla para salir no se ha deshabilitado con stty , puede matar el proceso en primer plano en lugar de activar la pantalla .Me cambié a tmux hace un tiempo. Su valor predeterminado es Cb porque se desarrolló bajo la pantalla y no interfirió con el valor predeterminado de la pantalla . He descubierto que Cb funciona bastante bien para mí (generalmente uso las teclas de flecha para el movimiento de un solo carácter en la línea de comando de la shell, aunque uso Mb y Mf para moverme por palabras).
Por cierto, el autor de tmux usa Ca en sus sesiones primarias y siempre escribe Ca dos veces (ya sea en una sesión de tmux o no). Si está dispuesto a adoptar este hábito, parece un compromiso decente ya que el segundo Ca debería ser un no-op en la mayoría de los contextos de edición tipo Emacs. No funcionaría, así lo haría si a menudo usa programas / contextos fuera de la pantalla donde el segundo Ca no sería un no-op.
De manera predeterminada, Ca Ca está vinculado al otro comando (cambiar a la pantalla activa más reciente) en la pantalla . Para que Ca Ca envíe un Ca real y haga que Ca o cambie de ventana, ingrese lo siguiente en su
.screenrc
:fuente
No hay necesidad de la solución.
Para ir al comienzo de la línea mientras usa la pantalla en bash, use
Control- A(liberar y luego)A
En general, si hay un carácter de control de pantalla en conflicto con un acceso directo de bash, el primer acceso directo de bash Controlse reemplazará con Control-A
Del mismo modo para otros atajos de edición de línea.
fuente
Uso C- \ para pantalla y no puedo recomendarlo lo suficiente. Puede golpear cualquier otra definición clave en caso de accidente, pero generalmente no C- \. Eso es lo que me gusta de eso.
fuente
Yo uso esto .
screenrc
Ejemplo: para separarlo, escriba
ctrl-b d
fuente
Yo uso ctrl-_ (que también puede ser producido por ctrl + 7 y generalmente ctrl + /) con screen / tmux.
fuente
Uso ctrl-z la mayor parte del tiempo, pero también uso ctrl-x para algunos. No uso tanto la interrupción 'stop', pero cuando es necesario, puedo escribir ^ zz. Esto también me permite iniciar sesiones de pantalla secundarias en servidores remotos que usan el ctrl-a predeterminado. Y si comienzo una tercera sesión (en un tercer servidor), entonces puedo usar ctrl-x. Ctrl-x es la función de bloqueo de pantalla, que en muchos entornos no es tan habitual (ya que la pantalla a menudo se ejecuta dentro de un emulador de terminal).
fuente