Le problème avec Control - Shift - A est 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 les écran pour faire la différence.
Vous pourrez peut-être utiliser C-q si vous le faites stty -ixon
pour désactiver le "contrôle de flux logiciel" sur le tty. Je le fais généralement pour pouvoir utiliser C-s pour effectuer des recherches sur la ligne de commande.
Vous pourriez envisager le C-^, car il semble être généralement non consolidé. Il s'agit de Control - Shift - 6 sur les claviers américains, mais il peut être difficile à taper sur d'autres claviers.
La plupart des gens n'utilisent jamais le caractère de contrôle tty C-\ pour envoyer SIGQUIT. Pour l'utiliser, il faut désactiver la fonctionnalité tty avec stty quit undef
et la lier en tant que clé de préfixe. C'est cependant un peu risqué, car si vous appuyez sur C-\ sur un tty où la touche quit n'a pas été désactivée avec stty vous risquez de tuer le processus d'avant-plan au lieu d'activer la fonction écran .
Je suis passé à tmux il y a quelque temps. Sa valeur par défaut est C-b parce qu'il a été développé dans le cadre de écran et n'a pas interféré avec écran L'option par défaut de la . J'ai trouvé que C-b fonctionne assez bien pour moi (j'utilise généralement les touches fléchées pour le déplacement d'un seul caractère sur la ligne de commande Shell, bien que j'utilise M-b et M-f pour me déplacer par mots).
Par ailleurs, l'auteur de tmux utilise C-a lors de ses sessions primaires et tape toujours deux fois C-a (que ce soit dans un tmux ou non). Si vous êtes prêt à adopter cette habitude, cela semble être un bon compromis puisque le second C-a devrait être interdit dans la plupart des contextes d'édition de type Emacs. Cela ne fonctionnera pas aussi bien si vous utilisez souvent des programmes/contextes en dehors de écran où le deuxième C-a ne serait pas un no-op.
Par défaut, C-a C-a est lié à l'élément autres (passage à l'écran actif le plus récent) dans la rubrique écran . Pour que C-a C-a envoie un C-a réel et que C-a o change de fenêtre, mettez ce qui suit dans votre .screenrc
:
escape ^A^A
bind o other