我使用vim通过ssh在几个系统上编辑文件,其中有些系统有或没有编译-clipboard选项。因此,我一直试图使用xclip将文本的某些部分复制到X剪贴板中,然后通过ssh将其迅速地用管道传送回我的机器,在那里我可以使用它。
我知道,我可以用
:'<,'>w !xclip<CR><CR>如果我想把整条线复制到剪贴板上,但我不想复制整条线,我想要任意选择
要修复它,我已经做了一个绑定,它将所选内容保存到@i寄存器中,并将其导入x剪辑
:vmap <F7> "iy<CR>:call system('echo ' . shellescape(@i) . ' \| xclip -i')<CR>对于在一行中选择文本来说,它似乎工作得很好,但它似乎保留了转义字符,并且当我复制几行时,例如
Plugin 'vim-scripts/buftabs'
Plugin 'jlanzarotta/bufexplorer'
Plugin 'kien/ctrlp.vim'
Plugin 'terryma/vim-multiple-cursors'我在xclip中得到了下面的内容--新行的转义符仍然存在。
Plugin 'vim-scripts/buftabs'\
Plugin 'jlanzarotta/bufexplorer'\
Plugin 'kien/ctrlp.vim'\
Plugin 'terryma/vim-multiple-cursors'\我尝试使用几种变体的弹壳和逃逸,但它们似乎都保留了转义字符的位置。我不太懂病毒脚本,我自己还不能解决这个问题。
我知道已经有几个关于vim和xclip的问题,但是没有一个是我能找到答案的。
提前感谢!
发布于 2015-08-13 09:33:07
只是偶然,我找到了我自己的问题的答案,这里。复制到xclip可以简单地完成如下操作:
:vmap <F7> y: call system("xclip -i", getreg("\""))<CR>这里有一个补丁,它阻止系统调用显示在状态行中。
:vmap <silent> <F7> y :silent call system("xclip -i", getreg("\""))<CR>https://stackoverflow.com/questions/31905680
复制相似问题