现在的开发环境是 centos server 版,习惯用 vim 做编辑器,
为了分屏,用了 tmux ,然后发现要跨文件复制很麻烦。
tmux 的 ctrl+a [ 空格,会将 vim 的行号甚至状态栏也复制进来
vim 的"+y 复制方式,也无法成功,因为 centos 的 vim 没有+寄存器。
至于 tmux 下用鼠标选择,会将两个竖屏的代码同时复制。。。
好奇其它人怎么复制的?
1
ishamo 2016 年 3 月 7 日
复制的时候把 vim 里的行号去掉再复制啊。 set nonu
|
2
thwawar 2016 年 3 月 7 日
vim 可以 set nonu
tmux 可以 resize-pane -Z |
3
msg7086 2016 年 3 月 7 日
我开个 vim 然后分屏,复制没压力啊。
|
4
cxbig 2016 年 3 月 7 日
- tmux 是借用了系统的剪贴板实现跨软件或编辑器复制
- tmux 下用左右 panes 的时候 copy 东西需要通过 vertical-mode |
5
4679kun 2016 年 3 月 7 日
看好行号 然后 cat+sed+重定向
|
6
ETiV 2016 年 3 月 7 日
我有复制需求的时候都是 :tabnew
然后 yy, gt, p |
7
Epirus 2016 年 3 月 7 日
|
10
iamleung 2016 年 3 月 7 日
分屏+1 ,然后继续 y 复制
|
11
tracyone 2016 年 3 月 7 日
```
# 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"' ``` |
12
ljmready OP 另外,用 tmux 复制时会复制少开头几个字。。
|
13
zealot0630 2016 年 3 月 7 日
如果 vim 跑在本地的话:
1. 按 v 选中想要复制的文本 2. "*y 复制到本地 X 剪贴板 3. 切换到要复制的 vim 4. "*p 把 X 剪贴版的内容复制到 vim 中 服务器开了 xforward 页可以用 |
14
skydiver 2016 年 3 月 7 日
先选中,然后:w /tmp/blablabla
然后到另一个 vim :r /tmp/blablabla |
15
morefreeze 2016 年 3 月 7 日
" 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> 这样满足吗? |
16
gonglexin 2016 年 3 月 7 日
文件内容不多的时候,我一般用 r (:h read)
|
19
introom 2016 年 3 月 8 日 via Android 通常就三种,
一,利用 x 的 clipboard.但我不喜欢这种,一来 vim 的依赖变多,二来我 mac 上还得装 X 才能 xforward ,三来 tmux 下 display 变量更新有点麻烦。 二,用 tmux 的 buffer ,局限是你必须得跑着 tmux 三, clipper, 或者类似。我现在用的就是这个。谷歌 vim clipper 应该首页能出结果。 |
20
tonghuashuai 2016 年 3 月 8 日 via iPhone vim 同时打开两个文件就好了啊
|
21
czb 2016 年 3 月 8 日 via Android 先分屏 :sp / :vsp 然后在 yank 和 paste
|
22
bramblex 2016 年 3 月 8 日 我以前写过一个简单 vim 插件,用来在没有剪贴板的情况下在服务器跨 vim 进程复制粘贴……
其实就是拿一个文件中转一下而已…… |
23
jsonline 2016 年 3 月 8 日 via Android neovim
|
24
Mush 2016 年 3 月 8 日 vim 开两个文件是个好方法, 如果用 tmux 分屏(或者两台机器)的话, 我都是`:! cat %`然后鼠标选中复制........
|
25
pkking 2016 年 3 月 8 日
:vs
|
26
vinceguo 2016 年 3 月 8 日 via Android
至于这么麻烦吗?鼠标选择之前按住 ctrl 就可以了
Ubuntu 15.10 自带 terminal 亲测有效 |
28
Lordyung 2016 年 11 月 15 日 via iPhone
@morefreeze 原来可以这样,没想到
|