Wie kann ich mit tmux unter OSX befehl + k klarer machen?

20

Wenn ich das Terminal in OSX verwende, verwende ich häufig + K, um den Bildschirm und den Bildlaufpuffer zu löschen. Es ist tief im Muskelgedächtnis.

Ich habe angefangen, mit tmux zu basteln, und ein Kritikpunkt ist, dass + Kden gesamten Bildschirm, die Fenster und alles abwischt. Was ich möchte, ist, dass es nur den fokussierten Bereich betrifft.

Kann ich dieses Verhalten irgendwie konfigurieren?

Nathan Long
quelle

Antworten:

21

Konfigurieren Sie iTerm2 zum Senden eines Löschbefehls

Einstellungen -> Tasten -> + (neue globale Verknüpfung hinzufügen)

  • Tastaturkürzel: ⌘ + k
  • Aktion: Senden Sie Text
  • Wert:

Löschen \ n

Alternativ können Sie iTerm2 so konfigurieren, dass ⌘ + k effektiv Strg + l zugeordnet wird

  • Tastaturkürzel: ⌘ + k
  • Aktion: Hex-Code senden
  • Wert:

0x0c

Auf diese Weise sehen Sie nicht, dass der Text aufblitzt, und der Befehl zum Löschen verschmutzt nicht Ihren Verlauf.

George Yacoub
quelle
2
Einfache und elegante Lösung. Danke mein Freund.
Rafael
Schöne Lösung! Sie haben meine tmux-Erfahrung weitaus angenehmer gemacht. Vielen Dank :)
Matt Darby
Nur eine Warnung, dies wird den Text zum Terminal flashen
Jay
1
Das ist großartig, aber es basiert auf dem clearBefehl und funktioniert daher nicht , wenn Sie sich in der Konsole irb oder rail befinden.
Robert
17

Sie können prefix+ rnach dem + verwenden K, um das tmux-Fenster neu zu zeichnen.

Wenn Sie die Gewohnheit abbrechen können, funktioniert ein normales ctrl+ lnormal pro Fenster.

zurückhaltend
quelle
3
ctrl + l ist nicht dasselbe wie cmd + k, da Sie mit ctrl + l immer noch nach oben scrollen und die alte Geschichte sehen können. Wenn Sie beispielsweise ein Protokoll verfolgen, das Ihren Bildlauf schnell rückwärts ausführt, ist cmd + k von unschätzbarem Wert, da Sie genau wissen, wann Sie das letzte Mal aufgehört haben. Strg + l wird dies nicht für Sie tun.
Bjorn
@BjornTipling ⌘ + K ist eine Funktion des Terminal-Emulators und funktioniert nicht in tmux ... Diese Bindung wurde entwickelt, um die statische Standardausgabe, die nicht in tmux vorkommt, und andere Programme wie vim / emacs / weechat / mutt, werden angezeigt.
demure
1
+1 für die Gewohnheit zu brechen, kann ich nicht aufhören, es bis heute zu tun. Am besten clear
tippe
3

Sie können folgende Zeilen hinzufügen .tmux.conf:

# clear the current pane
bind -n C-k send-keys C-l \; clear-history

Dann lade deine tmux config neu. Jetzt können Sie den aktuellen Bereich mit Ihrem Bindungsschlüssel +k(zB: Ctrl+ b, k) löschen.

Ich kenne die Syntax für OSX nicht, aber ich denke, Sie können die Zeile leicht anpassen.

xaa
quelle
Ich sehe, das C-llöscht den Bildschirm und clear-historylöscht den Scrollback-Puffer. Was macht das \;Teil?
Nathan Long
es läuft beide @ NathanLong
Jay
3

bind -n C-k send-keys -R \; send-keys C-l \; clear-history

Habe das von hier

Requisiten für ihn. Dies funktioniert für mich genauso wie Cmd+kfür den Terminal-Emulator und für MacOS 10.12.5 mit iTerm2.

Enrico Borba
quelle
Funktioniert wie ein Zauber, auch wenn ein Befehl gefällt tail -f ... oder ein Server ausgeführt wird!
Derek