【发布时间】:2015-08-09 15:12:38
【问题描述】:
我正在使用 vim 通过 ssh 编辑多个系统上的文件,其中一些已编译或没有编译 -clipboard 选项。因此我一直在尝试使用 xclip 将文本的某些部分复制到 X 剪贴板中,然后通过 ssh 立即将其通过管道传回我的机器,我可以在其中使用它。
现在,我知道了,我可以使用了
:'<,'>w !xclip<CR><CR>
如果我想将整行或多行复制到剪贴板,但我不想复制整行,我想要一个任意选择
为了解决这个问题,我做了一个绑定,它将选择保存到@i 寄存器中,并将其通过管道传输到 xclip
: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'\
我尝试使用 shellescape 和 escape 的几种变体,但它们似乎都将转义字符留在原处。我对 vimscripting 的了解不足以自己修复它。
我知道已经有几个关于 vim 和 xclip 的问题,但我找不到答案。
提前致谢!
【问题讨论】: