Auswählen von Text im Tmux-Kopiermodus


73

Ich starte Tmux im Vi-Modus. Vi-ähnliche Navigation im Kopiermodus funktioniert einwandfrei. Ich kann jedoch keinen Text auswählen. Weder v noch V wechseln in den Vi-ähnlichen Textauswahlmodus.

Was vermisse ich?

Ist es übrigens möglich, Zeilennummern im Kopiermodus anzuzeigen?

PS: Ich verwende Tmux unter Mac OS mit Z-Shell

Antworten:


90

Kurze Antwort: Leertaste startet Auswahl und gibt Kopien ein.

Zum späteren Nachschlagen habe ich folgendes von der tmux-Manpage erhalten:

       Function                vi             emacs
       Back to indentation     ^              M-m
       Clear selection         Escape         C-g
       Copy selection          Enter          M-w
       Cursor down             j              Down
       Cursor left             h              Left
       Cursor right            l              Right
       Cursor to bottom line   L
       Cursor to middle line   M              M-r
       Cursor to top line      H              M-R
       Cursor up               k              Up
       Delete entire line      d              C-u
       Delete to end of line   D              C-k
       End of line             $              C-e
       Goto line               :              g
       Half page down          C-d            M-Down
       Half page up            C-u            M-Up
       Next page               C-f            Page down
       Next word               w              M-f
       Paste buffer            p              C-y
       Previous page           C-b            Page up
       Previous word           b              M-b
       Quit mode               q              Escape
       Scroll down             C-Down or J    C-Down
       Scroll up               C-Up or K      C-Up
       Search again            n              n
       Search backward         ?              C-r
       Search forward          /              C-s
       Start of line           0              C-a
       Start selection         Space          C-Space
       Transpose chars                        C-t

Update: Der tmux list-keysBefehl listet auch alle benutzerdefinierten Tastenzuordnungen auf, die Sie haben.


70

Sie verwenden die Leertaste für den Anfang der Auswahl und die Eingabetaste für das Ende.

Kopieren:

  • Ctrlb[
  • Space
  • Enter

Einfügen:

  • Ctrlb]

1
Das sollte die Antwort sein. Es könnte verbessert werden, indem das Aufrufen / Verlassen des Kopiermodus erklärt wird.
mcsilvio

2
Tolle, kurze Antwort. Nur ein Hinweis für andere Benutzer: Wenn Sie einen modalen Editor oder eine Befehlszeile verwenden, sollten Sie sicherstellen, dass Sie sich im Einfügemodus befinden, bevor Sie versuchen, sie mit den oben genannten Methoden einzufügen Ctrl+b+]. Im Nachhinein offensichtlich, aber schickte mich ein paar Mal hin und her, bis ich mich anputzte.
JM Janzen

Ich denke, die Formatierung und Prägnanz wäre ein großartiger Ersatz für den Abschnitt "Kurze Antwort" in meiner Antwort. Gibt es eine Möglichkeit, Antworten zu kombinieren, die Kredit geben, wenn Kredit fällig ist?
Bluehavana

hmm ... wenn ich weiter überlege, denke ich, dass zwei Antworten angemessener sind, möchte dies nur irgendwie über dem Falz haben.
Bluehavana

23

Sie können Ihre .tmux.conf-Datei auch einrichten, indem Sie Folgendes hinzufügen:

# Use v to trigger selection    
bind-key -T copy-mode-vi v send-keys -X begin-selection

# Use y to yank current selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel

Dadurch können 'v' und 'y' wie in vim in den visuellen Modus wechseln und kopieren.

( Quelle )


1
Ich erhalte "Befehl nicht gefunden: Bind-Key" in tmux 1.9a
Olivier Lalonde

Hoppla, ich habe es versehentlich in meine .zshrc gestellt, nvm :)
Olivier Lalonde

7
Dieses Zeug hat sich in neueren Tmux-Versionen geändert. Es ist jetztbind-key -T copy-mode-vi ...
Steven Lu

21

Upstream (2.4+) tmux hat das Binden für die Auswahl geändert. Um eine Bindung für das zu erstellen, wonach das OP fragt, verwenden Sie -Tund senden Sie Schlüssel mit -X:

# Use v to trigger selection    
bind-key -T copy-mode-vi v send-keys -X begin-selection

# Use y to yank current selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel

Mein tmux-Kopiermodus hat einfach aufgehört zu funktionieren und ich konnte es nicht herausfinden, dies hat es behoben.
GTF

tmuxUpgrades brechen meine Configs öfter als ich möchte ... :-(
Ciro Santilli i 新疆 改造 法轮功 法轮功 事件

2

Ich finde es leicht, in den vi-Modus zu wechseln, als meinen Engpass, für den ich Folgendes verwende:

setw -g mode-keys vi
set-window-option -g mode-keys vi  
unbind [
bind-key -n F2 copy-mode
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.