我正在使用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 的问题,但我都找不到答案。
提前致谢!