首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vim,用xclip拉出,去掉转义字符

Vim,用xclip拉出,去掉转义字符
EN

Stack Overflow用户
提问于 2015-08-09 15:12:38
回答 1查看 361关注 0票数 1

我使用vim通过ssh在几个系统上编辑文件,其中有些系统有或没有编译-clipboard选项。因此,我一直试图使用xclip将文本的某些部分复制到X剪贴板中,然后通过ssh将其迅速地用管道传送回我的机器,在那里我可以使用它。

我知道,我可以用

代码语言:javascript
复制
:'<,'>w !xclip<CR><CR>

如果我想把整条线复制到剪贴板上,但我不想复制整条线,我想要任意选择

要修复它,我已经做了一个绑定,它将所选内容保存到@i寄存器中,并将其导入x剪辑

代码语言:javascript
复制
:vmap <F7> "iy<CR>:call system('echo ' . shellescape(@i) . ' \| xclip -i')<CR>

对于在一行中选择文本来说,它似乎工作得很好,但它似乎保留了转义字符,并且当我复制几行时,例如

代码语言:javascript
复制
Plugin 'vim-scripts/buftabs'
Plugin 'jlanzarotta/bufexplorer'
Plugin 'kien/ctrlp.vim'
Plugin 'terryma/vim-multiple-cursors'

我在xclip中得到了下面的内容--新行的转义符仍然存在。

代码语言:javascript
复制
Plugin 'vim-scripts/buftabs'\
Plugin 'jlanzarotta/bufexplorer'\
Plugin 'kien/ctrlp.vim'\
Plugin 'terryma/vim-multiple-cursors'\

我尝试使用几种变体的弹壳和逃逸,但它们似乎都保留了转义字符的位置。我不太懂病毒脚本,我自己还不能解决这个问题。

我知道已经有几个关于vim和xclip的问题,但是没有一个是我能找到答案的。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-13 09:33:07

只是偶然,我找到了我自己的问题的答案,这里。复制到xclip可以简单地完成如下操作:

代码语言:javascript
复制
:vmap <F7> y: call system("xclip -i", getreg("\""))<CR>

这里有一个补丁,它阻止系统调用显示在状态行中。

代码语言:javascript
复制
:vmap <silent> <F7> y :silent call system("xclip -i", getreg("\""))<CR>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31905680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档