我在Ubuntu中有vim 7.2(-clipboard -xterm_clipboard ...)。你可以看到它不支持剪贴板。所以我想编写一个小的vim脚本,它使用xclip工具将视觉选择的文本复制到剪贴板中。
你知道xclip工具是这样的:
echo 'hello' | xclip -selection clipboard #it copies 'hello' into clipboard
vim可以运行shell命令,所以我想将视觉选择的文本复制到where而不是'hello',但我不知道如何组合xclip和vim。你能帮我实现吗?
谢谢你的时间!
答案 0 :(得分:24)
您使用的是分发提供的vim
吗?如果是这样,vim-tiny
,vim
和vim-nox
软件包没有剪贴板支持,但它确实存在于vim-lesstiff
,vim-gtk
和{{1} }。
如果你坚持按照自己的方式去做,
vim-gnome
会将当前选定的行发送到xclip和
:'<,'>w !xclip
将最后一次发送到xclip。
答案 1 :(得分:1)
对我来说,即使*
是+
,Vim仍然无法通过SSH复制到:echo has('clipboard')
和1
寄存器,并且其他X程序仍然有效。对我来说,解决方案是将映射(通过寄存器)添加到xclip:
vnoremap <silent><Leader>y "yy <Bar> :call system('xclip', @y)<CR>
我选择文本,然后按\y
,该文本到达我的本地剪贴板。您可以更改其使用的寄存器,例如c
用于带有"yc
和@c
的“剪贴板”。