I run Tmux in Vi mode. Vi-like navigation in copy mode works fine. However, I can't select any text. Neither v nor V switches to Vi-like text selecting mode.

What am I missing?

By the way, is it possible to display line numbers in copy mode?

P.S.: I'm running Tmux on Mac OS with Z shell

up vote 82 down vote accepted

Short answer: space starts selection and enter copies.

For future reference, I got this from the tmux man page:

       Function                vi             emacs
       Back to indentation     ^              M-m
       Clear selection         Escape         C-g
       Copy selection          Enter          M-w
       Cursor down             j              Down
       Cursor left             h              Left
       Cursor right            l              Right
       Cursor to bottom line   L
       Cursor to middle line   M              M-r
       Cursor to top line      H              M-R
       Cursor up               k              Up
       Delete entire line      d              C-u
       Delete to end of line   D              C-k
       End of line             $              C-e
       Goto line               :              g
       Half page down          C-d            M-Down
       Half page up            C-u            M-Up
       Next page               C-f            Page down
       Next word               w              M-f
       Paste buffer            p              C-y
       Previous page           C-b            Page up
       Previous word           b              M-b
       Quit mode               q              Escape
       Scroll down             C-Down or J    C-Down
       Scroll up               C-Up or K      C-Up
       Search again            n              n
       Search backward         ?              C-r
       Search forward          /              C-s
       Start of line           0              C-a
       Start selection         Space          C-Space
       Transpose chars                        C-t

Update: The tmux list-keys command will also list any custom key bindings you have.

You use space bar for the beginning of the selection and enter for the end.

copy:

  • Ctrlb[
  • Space
  • Enter

paste:

  • Ctrlb]
  • 1
    This should be the answer. It could be improved by explaining entering/leaving copy mode. – mcsilvio Mar 25 '15 at 1:19
  • 2
    Great, brief answer. Just a note to fellow vi[m] neophytes: If you're using a modal editor or command line, you're going to want to make sure you're in insert mode before attempting to paste using the aformentioned Ctrl+b+]. Obvious in retrospect, but sent me back and forth a few times until I cottoned on. – J.M. Janzen Aug 7 '16 at 19:32
  • I think the formatting and conciseness would be an awesome replacement for the the "short answer" section in my answer. Is there a way to combine answers that gives credit where credit is due? – bluehavana Oct 28 '17 at 21:45
  • hmm... thinking further, I guess two answers are more appropriate, would just like to have this above the fold somehow. – bluehavana Oct 28 '17 at 21:53

You can also set up your .tmux.conf file by adding :

bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection

which will enable 'v' and 'y' to enter visual mode and copy, like in vim.

(Source)

  • 1
    I'm getting "command not found: bind-key" in tmux 1.9a – Olivier Lalonde Jan 9 '15 at 7:01
  • Oops, I put it in my .zshrc by accident, nvm :) – Olivier Lalonde Jan 9 '15 at 7:06
  • 7
    This stuff's changed in newer Tmux versions. It's now bind-key -T copy-mode-vi ... – Steven Lu Jan 20 '17 at 19:11

Upstream (2.4+) tmux changed how to bind for begin selection. To create a binding for what the OP is asking use -T and send-keys with -X:

# Use v to trigger selection    
bind-key -T copy-mode-vi v send-keys -X begin-selection

# Use y to yank current selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel

I find entering vi mode easily to be my bottleneck for which I use the following:

setw -g mode-keys vi
set-window-option -g mode-keys vi  
unbind [
bind-key -n F2 copy-mode

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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