copy-paste not working in MacVim when launched in tmux

5,086

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).

Share:
5,086

Related videos on Youtube

Lisa
Author by

Lisa

Updated on September 17, 2022

Comments

  • Lisa
    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
      Yitzchak about 13 years
      How are you copying? While I'm not familiar with your particular problem, in general, where one shortcut doesn't work another will.
    • Lisa
      Lisa about 13 years
      command C/V. things work fine if i launch outside of tmux so it's definitely related to tmux
  • romeovs
    romeovs over 12 years
    quick and easy ! great
  • Phuong Nguyen
    Phuong Nguyen almost 10 years
    Thanks 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 use Space + Enter to select and copy text, I won't be able to paste it to mac vim. Please advice?
  • Chris Johnsen
    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 via run-shell) or (in tmux 1.8+) exit copy-mode with a binding like bind -t vi-copy y copy-pipe 'reattach-to-user-namespace pbcopy' (i.e. use this y instead of Enter once you have your selection).
  • Phuong Nguyen
    Phuong Nguyen almost 10 years
    Thanks man. I'm using the binding to y now :D