Update (Jul1 19, 2013) - tmux 1.8 is out, and with it comes a simplified integration with the OS X clipboard. Check out tmux Copy and Paste on OS X: A Better Future for or updated technique.
Out of all the questions I get, the most common is, “Does copying and pasting work in tmux? I heard it wasn’t possible.” Forget that noise; copying and pasting works wonderfully with a couple of extra steps.
Step 1: Install reattach-to-user-namespace
If you’re using Homebrew, run:
brew install reattach-to-user-namespace
Step 2: Configure tmux
Open up your tmux configuration (typically at ~/.tmux.conf) and throw this line at the top of the file:
set-option -g default-command "reattach-to-user-namespace -l zsh"
This assumes that you’ve installed reattach-to-user-namespace (and it’s in
$PATH) and that you’re using zsh. Every time you open a new window or
pane, it’ll run
reattach-to-user-namespace, which digs into some of Apple’s
inner-workings to enable pbcopy and pbpaste support.
Step 3: Configure Other Applications
If you’re using Vim in a terminal, set your clipboard to the unnamed clipboard
(make sure it’s not wrapped in a conditional
If you want copying and pasting to work from your tmux buffers, you may want to run something similar to this:
#!/bin/sh while true; do if test -n "`tmux showb 2> /dev/null`"; then tmux saveb -|pbcopy && tmux deleteb fi sleep 0.5 done
That’ll look to see if there are any buffers in tmux; if there are, it’ll copy it into the system clipboard and delete the buffer. This is really handy if you’re trying to grab a backtrace or the output from a command.