Das Ändern der Fenstergröße funktioniert nicht für tmux auf einem Mac?

33

Nach dem Durchsuchen stellte ich fest, dass Strg + B (PREFIX) und dann Strg + Pfeil die Größe des aktuellen Bereichs ändern sollten. Aber es funktioniert nicht. Vermisse ich etwas?

Vielen Dank.

Biswanath
quelle
Zu Ihrer Information, ich habe die Breite mit PREFIX angepasst: resize-pane, aber ich frage mich immer noch, warum der obige Befehl nicht funktionieren sollte.
Biswanath
sollte wahrscheinlich auf apple.stackexchange.com sein
Alex Leach

Antworten:

42

Wahrscheinlich sendet Ihr Terminal keine (eindeutige) Sequenz, wenn Sie Controleine Pfeiltaste gedrückt halten und drücken.

Versuchen Sie, catdie Tasten auszuführen und einzugeben (Strg-C zum Beenden). Sie werden wahrscheinlich feststellen, dass (z. B.) Upund Control- Upbeide dieselbe Sequenz erzeugen.

OS X Terminal- Anwendung

In der Standardkonfiguration sendet die Anwendung OS X Terminal die Sequenz ^[[A(oder ^[OA), unabhängig davon, ob Sie Upoder Control- eingeben Up(auch eine beliebige Kombination mit Shiftund Option).

Sie können Terminal jedoch neu konfigurieren , um die entsprechenden Codes zu senden. Es ist ein bisschen langweilig, aber Sie müssen es normalerweise nur einmal tun.

  1. Terminal > Einstellungen…
  2. Registerkarte " Einstellungen" auf oberster Ebene
  3. Wählen Sie das Profil aus, das Sie ändern möchten
  4. Registerkarte Tastatur
  5. Klicken Sie auf das Pluszeichen, um eine neue Bindung hinzuzufügen

    • Wähle eine Cursortaste
    • Stellen Sie den Modifikator auf control
    • benutze die Send Text:Aktion
    • Typ Escape(wird angezeigt als \033) gefolgt von [1;5einem weiteren Zeichen:
      • Afür Up,
      • Bfür Down,
      • Cfür Right, oder
      • D zum Left
    • Klicken Sie auf OK , um die Bindung hinzuzufügen

Zum Beispiel sollte die endgültige Sequenz für Control- am UpEnde so aussehen \033[1;5A.

Diese Sequenzen werden von XTerm generiert ( Details finden Sie in der ctlseqs- Dokumentation).

Wiederholen Sie den letzten Schritt für die anderen Pfeiltasten.

iTerm 2

iTerm 2 sendet standardmäßig die erwartete Sequenz.

Chris Johnsen
quelle
In der Tat sind die Strg + {Pfeiltasten} zum Wechseln der Anwendung zugeordnet. Sie senden die Sequenz nicht.
Biswanath
19
Ich habe dies auf einem Vanilla Mavericks-Computer (MBP-Netzhaut Ende 2013) versucht, aber es hat nicht funktioniert, ohne auch alle Tastenkombinationen für Strg + Pfeil in den Systemeinstellungen -> Tastatur -> Tastenkombinationen -> Mission Control zu deaktivieren. +1 für den Tipp zum Anzeigen catvon Tastaturereignissen
Alex Leach
funktioniert einwandfrei bis ich tmux starte. Ich erhalte ^ [[1; 5A ^ [[1; 5B vor dem Start von tmux, aber ^ [OA ^ [OB in tmux.
Nakhli
1
@ Sinbadsoft.com: Es hört sich so an, als hätten Sie xterm-keysdieses tmux- Fenster nicht aktiviert . Sie möchten vielleicht set -gw xterm-keys on.
Chris Johnsen
funktioniert perfekt bei mir (el capitan).
ling
10

Bei mindestens Mavericks und iTerm2 müssen Sie gedrückt halten Control, dann drücken b(anstatt gedrückt zu halten ) und dann eine Richtungstaste gedrückt halten. Dies sendet fast die gleichen Sequenzen wie Gedrückthalten Control- bmit einer Richtungstaste funktioniert es also.

Gehen Sie auch zu den Tastatureinstellungen und deaktivieren Sie auf der Registerkarte "Tastenkombinationen" die Missionssteuerung und die Tastenkombinationen, über die Sie möglicherweise verfügen, Controlsowie eine Richtungstaste.

Quinnirill
quelle
7
Vielen Dank! Das Ändern der Missionssteuerung / App-Fenster-Bindungen in den Tastaturkürzeln machte für mich den Unterschied
sixty4bit
7

Sie können die Metataste anstelle der Steuertaste in den Kombinationen Strg- ↑ und Strg- ↓ verwenden. In OSX Terminal ist der Standard-Metaschlüssel der Escape-Schlüssel. Wenn Sie beispielsweise die Größe eines Fensters erhöhen möchten, drücken Sie die Tastenkombination Strg-B Esc- ↑.

Ich finde die Escape-Taste schwierig zu erreichen, daher verwende ich stattdessen die Optionstaste als Metaschlüssel. In Terminal.app können Sie es ändern, indem Sie zu Terminal> Einstellungen> Profile> Tastatur gehen: Aktivieren Sie die Option "Als Metaschlüssel verwenden".

Jetzt können Sie Strg-B-Option- ↑ eingeben, um die Größe zu erhöhen, oder Strg-B-Option- ↓, um die Größe zu verringern, und Sie müssen die Missionssteuerungstasten nicht neu zuordnen.

Yothenberg
quelle
Die Verwendung von Escape war nur eine Lösung, da die Tastenkombination Strg + Pfeil auf meinem MacOS standardmäßig auf einen anderen Desktop wechselt.
Klimat