我在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-gtk和vim-gnome.
如果你坚持按自己的方式去做,
:'<,'>w !xclip
Run Code Online (Sandbox Code Playgroud)
将当前选定的行发送到xclip,和
:call system('xclip', @0)
Run Code Online (Sandbox Code Playgroud)
会将最后一次发送到xclip.
对我来说,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。