web-dev-qa-db-fra.com

Comment copier dans le presse-papiers du système depuis la sortie de tmux après la sélection de la souris?

Maintenant, pour copier dans le presse-papiers du système, je dois sélectionner via le texte de la souris dans la fenêtre tmux avec la touche Shift. Et puis je dois lancer cette commande:

tmux save-buffer - | reattach-to-user-namespace pbcopy

Est-il possible d’enregistrer plus facilement dans le presse-papiers du système? La combinaison de touches ou mieux le fait automatiquement après la libération de Shift.

Mon config tmux: https://Gist.github.com/3641580

69
tomekfranek

Si vous utilisez iTerm2, vous pouvez copier du texte dans une session Tmux en maintenant la touche enfoncée. Option tout en faisant glisser la souris pour faire la sélection.

Ensuite, il devrait être possible de coller du texte n'importe où avec Cmd + V comme d'habitude. Je l'ai trouvé ici: http://web.archive.org/web/20131226003700/http://ootput.wordpress.com/2013/08/02/copy-and-paste-in-tmux-with- souris /

175
Rolands Bondars

Si vous utilisez iTerm2 3.x, vous pouvez effectuer un copier/coller en activant Applications in terminal may access clipboard:

enter image description here

Il suffit de surligner du texte avec votre souris pour le copier dans le presse-papiers OS X! Pas besoin d'appuyer Option comme suggéré dans la réponse d'acceptation.

Vous pouvez également coller du presse-papiers OS X dans tmux avec les instructions habituelles. Cmd + V.

49
Jerome Dalbert

Une question similaire a été posée ici: https://unix.stackexchange.com/questions/15715/getting-tmux-to-copy-a-buffer-to-the-clipboard

Solution trouvée là:

# move x clipboard into tmux paste buffer
bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer"
# move tmux copy buffer into x clipboard
bind C-y run "tmux show-buffer | xclip -i"

Vérifiez également: http://awhan.wordpress.com/2012/04/18/tmux-copy-paste-with-mouse/

si vous avez défini les options suivantes:

volet de sélection de la souris

souris-sélection-fenêtre

vous remarquerez que vous ne pouvez pas sélectionner du texte.

la solution consiste à utiliser la touche Maj.

hold down the shift key and then left click and drag across the target text. you must also hold down the shift key and then middle click in order to paste the text.
28
Blaise

Pour os x, si vous utilisez l'application "Terminal". Vous pouvez désactiver le défilement de la souris et utiliser les fonctions habituelles de copier/coller (cmd + c/cmd + v):

set-option -g mouse-select-pane off
set-option -g mouse-resize-pane off
set-option -g mouse-select-window off
set-window-option -g mode-mouse off

ou vous pouvez utiliser le défilement de la souris et sélectionner le texte en utilisant "touche fn":

set-window-option -g mode-mouse on
16
Sergei K

Mettre ceci dans mon fichier ~/.tmux.conf fonctionne pour moi:

bind y run-Shell "reattach-to-user-namespace -l zsh -c 'tmux show-buffer | pbcopy'"

Toutes les autres solutions potentielles que j'ai trouvées consistaient à copier un contenu vide dans le presse-papiers OSX.

Le seul problème est que cela semble mettre un retour chariot à la fin du contenu collé.

11
crcastle

Sur OSX utilisant tmux version 2.2 ou ultérieure, ajoutez ce qui suit dans votre fichier tmux.conf:

bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy"
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"

Pour tmux version 2.4, comme ils ont gentiment décidé de changer la syntaxe de la commande, vous devez utiliser:

bind-key -T copy-mode MouseDragEnd1Pane send -X copy-pipe-and-cancel "pbcopy"

Notez que vous devrez peut-être aussi utiliser reattach-to-user-namespace pbcopy au lieu de plain pbcopy.

9
Kyle Kloepper

maintenez le bouton gauche de la souris enfoncé, sélectionnez le texte dans le volet et maintenez le bouton enfoncé. puis appuyez sur "y", ce qui enregistre la sélection dans le presse-papiers et sort du mode sélection/copie.

fonctionne ici avec iTerm 3.1.beta.5, tmux 2.5 et la configuration suivante:

### copy & paste -------------------------------------------------------
# Use vim keybindings in copy mode
setw -g mode-keys vi
# Setup 'v' to begin selection as in Vim
bind-key -T copy-mode-vi v send -X begin-selection
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
# Update default binding of `Enter` to also use copy-pipe
unbind -T copy-mode-vi Enter
bind-key -T copy-mode-vi Enter send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
4
bahnfrei

appuyez sur la touche Maj, puis cliquez avec la souris! Vérifiez ce lien . http://awhan.wordpress.com/2012/04/18/tmux-copy-paste-with-mouse/

4
user3023768

J'ai créé une version à l'aide de netcat aujourd'hui qui est assez simple. 

https://github.com/base698/tmux-copy-paste-mac-osx

Voici le tmux.conf:

bind -t vi-copy 'v' begin-selection
bind -t vi-copy 'y' copy-pipe 'nc localhost 5682'
bind p run-Shell 'nc localhost 5683; nc localhost 5683 | tmux load-buffer -' \; paste-buffer

Fonctionne aussi avec la souris en 1.8

1
Justin Thomas

Voici la solution que j'utilise pour tmux version 2.8, macOS Mojave 10.14.1 et Terminal.app.

Après avoir relâché le bouton de la souris, la sélection est supprimée lors de la copie dans le Presse-papiers du système (ainsi que du tampon tmux):

bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"
0
robenkleene

J'ai pu résoudre ce problème avec CMD + C après avoir sélectionné le texte avec FN + mouse drag with left button down à partir de la fenêtre tmux dans l'application Terminal de macOS High Sierra.

0
lemmaa