在vim中使用xclip,猛拉到剪贴板

Nya*_*baa 13 vim

我在Ubuntu中有vim 7.2(-clipboard -xterm_clipboard ...).你可以看到它不支持剪贴板.所以我想编写一个小的vim脚本,它使用xclip工具将视觉选择的文本复制到剪贴板中.

你知道xclip工具是这样的:

echo 'hello' | xclip -selection clipboard      #it copies 'hello' into clipboard
Run Code Online (Sandbox Code Playgroud)

并且vim可以运行shell命令,所以我想将视觉选择的文本复制到where而不是'hello',但我不知道如何组合xclip和vim.你能帮我实现吗?

谢谢你的时间!

eph*_*ent 26

您使用的是发行版vim吗?如果是这样,vim-tiny,vim,和vim-nox包都没有剪贴板支持,但它确实存在vim-lesstiff,vim-gtkvim-gnome.

如果你坚持按自己的方式去做,

:'<,'>w !xclip
Run Code Online (Sandbox Code Playgroud)

将当前选定的行发送到xclip,和

:call system('xclip', @0)
Run Code Online (Sandbox Code Playgroud)

会将最后一次发送到xclip.

  • 我必须进行视觉选择,输入`:w!xclip -selection clipboard`. (2认同)

Wal*_*alf 5

对我来说,Vim 不再能够复制到*+通过 SSH 注册,即使:echo has('clipboard')1,并且其他 X 程序仍然可以工作。我的解决方案是添加一个映射(通过寄存器)到 xclip:

vnoremap <silent><Leader>y "yy <Bar> :call system('xclip', @y)<CR>
Run Code Online (Sandbox Code Playgroud)

我选择文本,点击\y,它到达我的本地剪贴板。您可以更改注册它使用,如c用于“剪贴板”以"cy@c