现在的开发环境是 centos server 版,习惯用 vim 做编辑器,
为了分屏,用了 tmux ,然后发现要跨文件复制很麻烦。
tmux 的 ctrl+a [ 空格,会将 vim 的行号甚至状态栏也复制进来
vim 的"+y 复制方式,也无法成功,因为 centos 的 vim 没有+寄存器。
至于 tmux 下用鼠标选择,会将两个竖屏的代码同时复制。。。
好奇其它人怎么复制的?
|  |      1ishamo      2016-03-07 15:32:23 +08:00 复制的时候把 vim 里的行号去掉再复制啊。 set nonu | 
|  |      2thwawar      2016-03-07 16:14:11 +08:00 vim 可以 set nonu tmux 可以 resize-pane -Z | 
|  |      3msg7086      2016-03-07 16:18:05 +08:00 我开个 vim 然后分屏,复制没压力啊。 | 
|  |      4cxbig      2016-03-07 16:22:32 +08:00 - tmux 是借用了系统的剪贴板实现跨软件或编辑器复制 - tmux 下用左右 panes 的时候 copy 东西需要通过 vertical-mode | 
|      54679kun      2016-03-07 16:23:22 +08:00 看好行号 然后 cat+sed+重定向 | 
|  |      6ETiV      2016-03-07 16:26:09 +08:00 我有复制需求的时候都是 :tabnew 然后 yy, gt, p | 
|  |      7Epirus      2016-03-07 16:27:50 +08:00 | 
|  |      10iamleung      2016-03-07 16:41:19 +08:00 分屏+1 ,然后继续 y 复制 | 
|  |      11tracyone      2016-03-07 16:44:24 +08:00 ``` # MSYS if-shell 'uname | grep -qi MSYS_NT' 'bind -t vi-copy y copy-pipe "cat > /dev/clipboard"' if-shell 'uname | grep -qi MSYS_NT' 'bind ] run "cat /dev/clipboard | tmux load-buffer - ; tmux paste-buffer"' # os x #if-shell 'uname | grep -qi Darwin' 'set-option -g default-command "reattach-to-user-namespace -l zsh"' if-shell 'uname | grep -qi Darwin' 'bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"' if-shell 'uname | grep -qi Darwin' 'bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"' if-shell 'uname | grep -qi Darwin' 'bind ] run "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer"' # Linux if-shell 'uname | grep -qi Linux' 'bind -t vi-copy y copy-pipe "xclip -sel clip -i"' ``` | 
|  |      12ljmready OP 另外,用 tmux 复制时会复制少开头几个字。。 | 
|      13zealot0630      2016-03-07 17:27:09 +08:00 如果 vim 跑在本地的话: 1. 按 v 选中想要复制的文本 2. "*y 复制到本地 X 剪贴板 3. 切换到要复制的 vim 4. "*p 把 X 剪贴版的内容复制到 vim 中 服务器开了 xforward 页可以用 | 
|  |      14skydiver      2016-03-07 17:31:16 +08:00 先选中,然后:w /tmp/blablabla 然后到另一个 vim :r /tmp/blablabla | 
|      15morefreeze      2016-03-07 17:33:58 +08:00 " Allow to copy/paste between VIM instances "copy the current visual selection to ~/.vbuf vmap <leader>y :w! ~/.vbuf<cr> "copy the current line to the buffer file if no visual selection nmap <leader>y :.w! ~/.vbuf<cr> 这样满足吗? | 
|  |      16gonglexin      2016-03-07 17:35:15 +08:00 文件内容不多的时候,我一般用 r  (:h read) | 
|      19introom      2016-03-08 01:32:17 +08:00 via Android  1 通常就三种, 一,利用 x 的 clipboard.但我不喜欢这种,一来 vim 的依赖变多,二来我 mac 上还得装 X 才能 xforward ,三来 tmux 下 display 变量更新有点麻烦。 二,用 tmux 的 buffer ,局限是你必须得跑着 tmux 三, clipper, 或者类似。我现在用的就是这个。谷歌 vim clipper 应该首页能出结果。 | 
|  |      20tonghuashuai      2016-03-08 08:30:21 +08:00 via iPhone  1 vim 同时打开两个文件就好了啊 | 
|  |      21czb      2016-03-08 09:03:14 +08:00 via Android  1 先分屏 :sp / :vsp 然后在 yank 和 paste | 
|      22bramblex      2016-03-08 09:16:17 +08:00  1 我以前写过一个简单 vim 插件,用来在没有剪贴板的情况下在服务器跨 vim 进程复制粘贴…… 其实就是拿一个文件中转一下而已…… | 
|      23jsonline      2016-03-08 09:19:36 +08:00 via Android  1 neovim | 
|  |      24Mush      2016-03-08 12:28:35 +08:00  1 vim 开两个文件是个好方法, 如果用 tmux 分屏(或者两台机器)的话, 我都是`:! cat %`然后鼠标选中复制........ | 
|  |      25pkking      2016-03-08 13:46:23 +08:00 :vs | 
|  |      26vinceguo      2016-03-08 14:14:59 +08:00 via Android 至于这么麻烦吗?鼠标选择之前按住 ctrl 就可以了 Ubuntu 15.10 自带 terminal 亲测有效 | 
|      28Lordyung      2016-11-15 07:30:35 +08:00 via iPhone @morefreeze 原来可以这样,没想到 |