Wie erhöhe ich die Größe des Kopierpuffers in tmux?

7

Frage : Wie erhöhe ich die Größe des Kopierpuffers in tmux?

Daten : Wenn ich den folgenden Befehl ausführe ...

$ for i in {1..1000}; do echo "$i"; done  

... und markieren Sie die gesamte Ausgabe in tmux (entweder mit den Maus- oder Tastaturbefehlen). Folgendes wird an das System-Pasteboard gesendet:

1  
2  
3  
4  
--snip--
205  
206  
207  
208  
20   (<--- Notice where it cuts off)

Triage :
- Dies bleibt bestehen, wenn ich tmux beende und den Server beende, die Datei tmux.conf verschiebe und eine neue tmux-Instanz mit der Standard-conf-Datei starte. (Die Standardschlüssel neu lernen zu müssen war schwierig X_X).
- Bleibt auch auf einem anderen Computer (wieder mit den Standardeinstellungen von tmux) mit der genauen Software (siehe unten) bestehen.
- Bleibt auch in der Standard-Terminal.app erhalten (wieder mit den Standardeinstellungen von tmux)

System :
OS X 10.9.2
tmux 1.9a (Homebrew) + Wiederanfügen an den Benutzer-Namespace (Homebrew)
iTerm Build 1.0.0.20140421

Josh Whittington
quelle
Hast du das jemals herausgefunden? Ich kann nicht glauben, dass es über ein Jahr her ist und niemand anders geantwortet hat.
Dave Albert

Antworten:

1

Nachdem ich diesen Artikel gelesen hatte, erfuhr ich von dem neuen copy-pipeBefehl, der zu tmux 1.8 hinzugefügt wurde :

copy-pipe Befehl mode, um die Auswahl zu kopieren und die Auswahl an einen Befehl weiterzuleiten.

Das Ändern Ihrer Kopiermodus-Bindungen zur Verwendung des neuen copy-pipeBefehls hat das Problem für mich behoben:

# (from my tmux.conf)...
# Change copy / paste bindings to work like Vim
# Note this used to use `copy-selection` but that has been replaced
# with `copy-pipe` as of Tmux 1.8. See: https://goo.gl/ea3CRO
bind Escape copy-mode
bind p paste-buffer
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"

# Update default binding of `Enter` to also use copy-pipe
unbind -t vi-copy Enter
bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
Ryan Dlugosz
quelle
0

Problem gelöst. Ein paar Hinweise.

  1. reattach-to-user-namespaceist nicht nötig. Einfach pbcopy.
  2. Getestet mit tmux 2.3
  3. Der Trick besteht darin, das MouseDragEnd1PaneEreignis auszulösen pbcopy.
  4. Verwenden Sie iTerm2diese Option, damit die Mausunterstützung einfach funktioniert. Von tmux v2.1nur set-option -g mouse onist erforderlich.
  5. Sie benötigen keinen Vi-Copy-Modus. Stellen Sie einfach sicher, dass das MouseDragEnd1Panewie unten gebunden ist

Hier ist mein abgespeckter ~/.tmux.conf

# --------------------------------
# Turn on the Mouse Support - defaults seem good
# --------------------------------
set-option -g mouse on
# when we finish "selecting" send it to pbcopy (and into the OS X buffer)
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"

# --------------------------------
# Use vim keybindings in copy mode
# --------------------------------
setw -g mode-keys vi

# Setup 'v' to begin selection as in Vim
# You enter with C-b [ and then "v" - then normal keypresses to "highlight"
# .. [Enter] or "y" will select (because of below bindings)
bind-key -t vi-copy v begin-selection
#
# 'y'ank will send the selection to the OS X buffer
bind-key -t vi-copy y            copy-pipe "pbcopy"

# --------------------------------
# Update default binding of `Enter` to also use Send the selection to OS X buffer
# --------------------------------
unbind   -t vi-copy Enter
bind-key -t vi-copy Enter        copy-pipe "pbcopy"

# selecting can now be done with
#  hilighting with a mouse
#  selecting with C-b [ v .. now vi mode for selecting text
#
# pasting  can now be done with
# ⌘ - V
# C-b ]
Ramon
quelle
-1

Das scheint bei mir funktioniert zu haben:

https://stackoverflow.com/a/24973743/35003

Ich hatte das gleiche Problem mit tmux 1.8, iTerm2 und Reattach-to-User-Namespace. Ich bin auf eine tmux-Konfigurationsbindung gestoßen, die das Problem behebt: Sie kopiert explizit die letzte Pufferauswahl in die Zwischenablage:

bind-key q run "tmux save-buffer - | reattach-to-user-namespace pbcopy"

Fügen Sie es in Ihre ~ / .tmux.conf ein, und dann zieht Cb q nach einer Auswahl alles in Ihre Zwischenablage.

Dave Albert
quelle