Use system clipboard in vi-copy mode in tmux
This was also answered here, but it took me a while to understand how to use it, so I'll explain for anyone else that was confused.
This is basically the setting you're going for:
(for tmux versions <2.5)
bind -t vi-copy y copy-pipe 'xclip -in -selection clipboard'
(for tmux versions >=2.5)
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
[ to enter copy mode. Then hit
Space followed by whatever vi movement keys to make a selection. Then, instead of hitting
y and the selection will be copied to the clipboard.
Note: this assumes you're using tmux's default bindings with vi keys.
Tmux has different key binding tables for different modes. So,
bind-key -t vi-copy y sets the action for the
y key in copy mode. Initially, I was confused because I was used to hitting
Enter after making a selection.
Enter is actually just the default key binding for the
copy-selection command (when in copy mode). The
copy-pipe command allows us to bind a new key to pipe the selection to a command, which in this case is
You can see all key bindings for copy mode by running
list-keys -t vi-copy.
The updated version to Ben Davis answer
compatible with tmux 2.4
bind -T copy-mode-vi y send -X copy-pipe "xclip -selection c"
Take a look at the tmux-yank plugin for tmux. https://github.com/tmux-plugins/tmux-yank
It provides an automated way to copy/paste from tmux to the system clipboard. It works on OSX/Linux/Cygwin systems.