Je suis un nouvel utilisateur de GNU Screen. J'utilise Bash depuis très longtemps et je veux essayer GNU Screen.
Comme vous le savez, GNU Screen utilise 'Ca' (Control-A) comme caractère de commande. Le problème, c'est que cela interfère avec la fonctionnalité d'édition de ligne dans Bash (et GNU Readline), car Control-A dans Bash se déplacera au début de la ligne. "
Je sais que je peux définir le caractère de commande sur une autre séquence de touches , telle que "^ Q" ou "` `" (Backtick), mais j'ai du mal à trouver une autre séquence de clés qui n'est pas déjà utilisée (^ Q est utilisé par le terminal , backtick est utilisé lors de l’écriture de scripts shell). Il semble que le caractère de commande ne puisse comporter qu'un ou deux caractères. Puis-je définir le caractère de contrôle de l'écran GNU comme quelque chose comme "Control-Shift-A"?
(Je ne peux pas utiliser plus d'un hyperlien pour le moment, je ne peux donc pas créer de lien vers la documentation Bash)
la source
screen
sur d'autres systèmes, il vaut mieux rester avec les raccourcis clavier par défaut, ou au moins les apprendre en premier.^A a
enverra par défaut le^A
combo de touches habituel . C'est un peu gênant si vous utilisez beaucoup ce combo; J'utilise généralement laHOME
clé à la place à cause de cela. Mais cela ne fonctionne pas toujours non plus.Réponses:
Le problème avec Control- Shift- Aest que la plupart des programmes d'émulation de terminal n'envoient pas un code différent de celui envoyé par Control- A, il n'y aurait donc aucun moyen pour screen de faire la différence.
Vous pourrez peut-être utiliser Cq si vous le faites
stty -ixon
pour désactiver le «contrôle de flux logiciel» sur le terminal. Je le fais habituellement pour pouvoir utiliser Cs pour effectuer une recherche en ligne de commande.Vous pourriez considérer C- ^, car il semble être généralement non lié. Il est Control- Shift- 6sur les dispositions de clavier aux États - Unis, mais il peut être difficile de taper sur d' autres dispositions.
La plupart des gens n'utilisent jamais le caractère de contrôle tty C- \ pour envoyer SIGQUIT. Pour l'utiliser, désactivez la fonctionnalité tty avec with
stty quit undef
et associez-la en tant que clé de préfixe. Ceci est cependant un peu risqué, car si vous appuyez sur C- \ sur un terminal où la clé de sortie n'a pas été désactivée avec stty , vous risquez de tuer le processus de premier plan au lieu d'activer l' écran .Je suis passé à tmux il y a un moment. Sa valeur par défaut est Cb car il a été développé sous screen et n’interfère pas avec les valeurs par défaut de screen . J'ai trouvé que Cb fonctionnait assez bien pour moi (j'utilise généralement les touches fléchées pour les mouvements d'un seul caractère sur la ligne de commande du shell, bien que j'utilise Mb et Mf pour se déplacer par mots).
Incidemment, l'auteur de tmux utilise Ca dans ses sessions principales et tape toujours Ca deux fois (que ce soit dans une session tmux ou non). Si vous êtes prêt à adopter cette habitude, cela semble être un compromis décent, car le deuxième Ca devrait être un échec dans la plupart des contextes d'édition comme celui d'Emacs. Cela ne fonctionnerait pas si vous utilisiez souvent des programmes / contextes en dehors de l' écran où le second Ca ne serait pas un non-op.
Par défaut, Ca Ca est lié à l' autre commande (passer à l'écran le plus récemment actif) à l' écran . Pour que Ca envoie un Ca réel et que les fenêtres se commutent, inscrivez ce qui suit dans votre
.screenrc
:la source
Pas besoin de solution de contournement.
Pour aller au début de la ligne en utilisant screen dans bash, utilisez
Control- A(relâche puis)A
En général, s'il y a un caractère de contrôle d'écran en conflit avec un raccourci bash, le premier du raccourci bash Controlsera remplacé par Control-A
De même pour d'autres raccourcis d'édition de ligne.
la source
J'utilise C- \ pour Screen et je ne le recommanderai jamais assez. Vous pouvez utiliser n'importe quelle autre définition de clé sur un accident, mais pas généralement C- \. C'est ce que j'aime à ce sujet.
la source
Je l'utilise.
screenrc
Exemple: pour détacher vous tapez
ctrl-b d
la source
J'utilise ctrl-_ (qui peut également être produit par ctrl + 7 et généralement ctrl + /) avec screen / tmux.
la source
J'utilise ctrl-z la plupart du temps, mais j'utilise aussi ctrl-x pour certains. Je n'utilise pas beaucoup l'interruption 'stop', mais quand c'est nécessaire, je peux taper ^ zz. Cela me permet également de démarrer des sessions d'écran secondaires sur des serveurs distants utilisant la commande par défaut ctrl-a. Et si je démarre une troisième session (sur un troisième serveur), je peux utiliser ctrl-x. Ctrl-x est la fonction lockscreen qui, dans de nombreux environnements, n’est pas très habituelle (l’écran s’exécutant souvent dans un émulateur de terminal).
la source