copy-paste not working in MacVim when launched in tmux
Solution 1
You might try the patch mentioned in a related thread (“OSX 10.6.5 , Terminal.app, iTerm.app pbpaste, pbcopy do not work under tmux”) from the tmux-users mailing list (actually hosted at sf.net, but I abhor their archive interface).
Note: the patch was, at one time, applied to the MacPorts port, but it was later reverted when it was suspected to be causing other errors. However, those errors might have actually been caused by liking against the wrong version of libevent (and it seems that recent versions of tmux will work with either version of libevent).
Since helgeg brought it up, I’ll mention my notes on my attempt to use the above referenced patch.
Summary: I found the patch unreliable. It allowed pasteboard access, but it triggered many warning messages from my installation of libevent version 2 (maybe version 1 is less affected). It also prevents the tmux server from doing its normal fork(2) (via daemon(3)), which is a significant change to how the server process was designed to work.
I ended up publishing a program that works around the problem without patching tmux. People that have had problems using the pasteboard under tmux (and those for which the above patch does not work satisfactorily) might want to give my workaround a try.
Solution 2
Chris Johnsen has made a wrapper which solves the problem of using pbcopy and pbpase on OSX. https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard (the root cause of the MacVim problem above).
Related videos on Youtube
Lisa
Updated on September 17, 2022Comments
-
Lisa over 1 year
MacVim's copy-paste stops working when I launch it from a tmux terminal (on zsh). If I exit tmux and then launch MacVim copy-past works. Any idea how to fix this?
-
Yitzchak about 13 yearsHow are you copying? While I'm not familiar with your particular problem, in general, where one shortcut doesn't work another will.
-
Lisa about 13 yearscommand C/V. things work fine if i launch outside of tmux so it's definitely related to tmux
-
-
romeovs over 12 yearsquick and easy ! great
-
Phuong Nguyen almost 10 yearsThanks a lot for this. I can copy text from iTerm and paste into mac vim started in tmux now. However, if I
^b + [
to start the browse mode, and useSpace
+Enter
to select and copy text, I won't be able to paste it to mac vim. Please advice? -
Chris Johnsen almost 10 years@PhuongNguyen: exiting
copy-mode
like that just copies into a tmux buffer, not the Mac pasteboard. You could use a Vim command like:r!tmux save-buffer -
to read the buffer. Or you could arrange to copy the data to the Mac pasteboard:tmux save-buffer - | reattach-to-user-namespace pbcopy
(maybe as a tmux binding viarun-shell
) or (in tmux 1.8+) exitcopy-mode
with a binding likebind -t vi-copy y copy-pipe 'reattach-to-user-namespace pbcopy'
(i.e. use thisy
instead ofEnter
once you have your selection). -
Phuong Nguyen almost 10 yearsThanks man. I'm using the binding to
y
now :D