I use tmux to copy text while in copy-mode often, but what I'd like to do is copy text using command line instead of entering copy-mode.

For example, when I'm in vim directly on my mac computer, I like to select a line with V, then pipe that to the system clipboard with by pressing :, which then gives the '<,'>, meaning, take the currently highlighted vim text, and then w ! pbcopy. Pipe the highlighted vim text to system clipboard. This is useful when the line is too long to render so that tmux's copy-mode can "see" it, and I don't want to set wrap in vim.

I'd like to do the same for tmux, like, if this were a thing:

$ echo "some text" | tmux copy-buffer

Or, after highlighting a line with V in vim:

:'<,'>w ! tmux copy-buffer

Alas, I couldn't find anything in man tmux that suggested I could do this. Anyone know how?


Sounds like you want

tmux load-buffer -
  • Thank you! From within vim, this is how I'm able to highlight a very long line and write it to the tmux copy buffer: :'<,'>w ! cat | tmux load-buffer -. Perhaps a useless use of cat, but I'm happy. Also, from terminal, echo "some text" | tmux load-buffer - works as expected. – InfiniteZoom Mar 29 at 3:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.