How to copy and paste between different tmux panes running vim instances

Example: copy in one tmux pane (via vim), then switch to another pane (running another vim instance) and paste using the vim paste command. I know this can be done via tmux (using prefix+]) but it would be really handy if I can copy and paste using vim bindings since i'm just switching between different panes running vim.

Any ideas?


Sorry, I'm trying to convince you to use vim built-in features.


To make the copy/paste easy, you can open files in another Tabpages:

:tabe /path/to/another/file

Use gt or gT to switch Tabpages.


Or split the window to edit another file:

:sp /path/to/another/file

Use Ctrl-ww to switch Windows.
To split the window vertically, please use :vsp file


Update:

This is my .tmux.conf file:

# vim
setw -g mode-keys vi
bind [ copy-mode
bind -t vi-copy v begin-selection
bind -t vi-copy y copy-selection
bind -t vi-copy V rectangle-toggle
bind ] paste-buffer

# buffer
bind Space choose-buffer

I only use them when I need to copy terminal output.


我已经使用这个方便的绑定了几年:)

" copy to buffer
vmap <C-c> :w! ~/.vimbuffer<CR>
nmap <C-c> :.w! ~/.vimbuffer<CR>
" paste from buffer
map <C-p> :r ~/.vimbuffer<CR>

Although I agree that it's better to just use one vim instance, you can do this with tmux alone. It has a built in copy-mode. My tmux.conf is set up like:

  setw -g mode-keys vi
  unbind [
  unbind p
  bind C-y copy-mode
  bind p paste-buffer
  bind -t vi-copy v begin-selection
  bind -t vi-copy y copy-selection
  bind -t vi-copy Escape cancel

So you can use prefix-<Cy> to activate copy mode, /search term as an example to go where you want, v to visually select, y to yank into tmux. Then go to other vim session and get into insert mode. Use prefix-p to paste what's in the tmux paste buffer. There are also ways to copy tmux's paste buffer to your system clipboard.

链接地址: http://www.djcxy.com/p/86130.html

上一篇: 如何发送命令到tmux中的所有窗格?

下一篇: 如何在运行vim实例的不同tmux窗格之间复制和粘贴