Ich bin ein neuer Benutzer von GNU Screen. Ich benutze Bash schon sehr lange und möchte GNU Screen ausprobieren.
Wie Sie wissen, verwendet GNU Screen 'Ca' (Strg-A) als Befehlszeichen. Das Problem ist, dass dies die Zeilenbearbeitungsfunktion in Bash (und GNU Readline) beeinträchtigt, da Control-A in Bash an den Anfang der Zeile verschoben wird. "
Ich weiß, dass ich das Befehlszeichen auf eine andere Tastenfolge wie "^ Q" oder "` `" (Backtick) setzen kann, aber ich habe Probleme, eine andere Tastenfolge zu finden, die nicht bereits verwendet wird (^ Q wird vom Terminal verwendet) , backtick wird beim Schreiben von Shell-Skripten verwendet. Es scheint, dass das Befehlszeichen nur ein oder zwei Zeichen lang sein darf. Kann ich das GNU Screen-Steuerzeichen auf "Control-Shift-A" setzen?
(Ich kann noch nicht mehr als einen Hyperlink verwenden, daher kann ich keinen Link zur Bash-Dokumentation erstellen.)
quelle
screen
auf anderen Systemen nicht desorientiert zu werden, sollten Sie sich am besten an die Standard-Tastenkombinationen halten oder diese zuerst erlernen.^A a
Standardmäßig wird die übliche^A
Tastenkombination gesendet. Es ist etwas unpraktisch, wenn Sie diese Kombination häufig verwenden. Normalerweise benutze ichHOME
stattdessen den Schlüssel. Aber das funktioniert dann auch nicht immer.Antworten:
Das Problem bei Control- Shift- Aist, dass die meisten Terminal-Emulationsprogramme keinen anderen Code senden als den von Control- A, sodass der Bildschirm den Unterschied nicht erkennen kann.
Möglicherweise können Sie Cq verwenden
stty -ixon
, um die "Software-Flusskontrolle" auf dem tty zu deaktivieren. Normalerweise mache ich das, damit ich mit Cs in der Befehlszeile suchen kann.Sie könnten C- ^ in Betracht ziehen, da es normalerweise ungebunden zu sein scheint. Es ist Control- Shift- 6auf US-Tastaturlayouts, aber es kann schwierig sein, auf anderen Layouts zu tippen.
Die meisten Leute benutzen niemals das tty-Steuerzeichen C- \, um SIGQUIT zu senden. Deaktivieren Sie dazu die tty-Funktion mit
stty quit undef
und binden Sie sie als Präfixschlüssel. Dies ist jedoch ein bisschen riskant, da Sie, wenn Sie C- \ an einer Stelle drücken, an der die Beenden-Taste nicht mit stty deaktiviert wurde , möglicherweise den Vordergrundprozess beenden , anstatt den Bildschirm zu aktivieren .Ich bin vor einiger Zeit zu tmux gewechselt . Sein Standardwert ist Cb , weil es unter entwickelt Bildschirm und nicht störte Bildschirm ist Standard . Ich habe festgestellt, dass Cb für mich ziemlich gut funktioniert (ich benutze normalerweise die Pfeiltasten für die Bewegung einzelner Zeichen in der Shell-Befehlszeile - obwohl ich Mb und Mf benutze, um mich mit Worten zu bewegen).
Übrigens verwendet der Autor von tmux Ca in seinen primären Sitzungen und gibt Ca immer zweimal ein (ob in einer tmux- Sitzung oder nicht). Wenn Sie bereit sind, diese Gewohnheit zu übernehmen, scheint dies ein anständiger Kompromiss zu sein, da der zweite Ca in den meisten Emacs-ähnlichen Bearbeitungszusammenhängen ein No-Op sein sollte. Es würde nicht so funktionieren, wenn Sie häufig Programme / Kontexte außerhalb des Bildschirms verwenden, bei denen das zweite Ca kein No-Op wäre.
Standardmäßig ist Ca Ca an den anderen Befehl (zum zuletzt aktiven Bildschirm wechseln) im Bildschirm gebunden . Damit Ca Ca ein tatsächliches Ca sendet und Ca o die Fenster wechselt, geben Sie Folgendes in Ihr Feld ein
.screenrc
:quelle
Keine Notwendigkeit für die Problemumgehung.
Verwenden Sie, um bei Verwendung von screen in bash an den Zeilenanfang zu springen
Control- A(loslassen und dann)A
Im Allgemeinen wird bei Konflikten zwischen Bildschirmsteuerzeichen und einer Bash-Verknüpfung die erste Bash-Verknüpfung durch Folgendes Controlersetzt Control:A
Ebenso für andere Verknüpfungen zur Zeilenbearbeitung.
quelle
Ich benutze C- \ für Screen und kann es nicht genug empfehlen. Sie können beim Unfall eine beliebige andere Tastendefinition treffen, jedoch nicht generell C- \. Das ist es, was ich daran mag.
quelle
Ich benutze das .
screenrc
Beispiel: Zum Trennen geben Sie ein
ctrl-b d
quelle
Ich benutze ctrl-_ (was auch mit ctrl + 7 und normalerweise mit ctrl + / möglich ist) mit screen / tmux.
quelle
Ich benutze die meiste Zeit Strg-Z, aber auch Strg-X für einige. Ich benutze den 'Stop'-Interrupt nicht so oft, aber wenn es gebraucht wird, kann ich ^ zz eingeben. Dadurch kann ich auch sekundäre Bildschirmsitzungen auf Remoteservern starten, die die Standard-Strg-A-Taste verwenden. Und wenn ich eine dritte Sitzung starte (auf einem dritten Server), kann ich Strg-x verwenden. Strg-x ist die Sperrbildschirmfunktion, die in vielen Umgebungen nicht so üblich ist (da der Bildschirm häufig in einem Terminalemulator ausgeführt wird).
quelle