我尝试在 vim 中复制文本,然后使用*y
,但将其粘贴到浏览器中不起作用。我正在使用带有 i3 平铺管理器的 ubuntu。有人能帮忙吗?
答案1
Ubuntu 20.04 的答案
您需要确保剪贴板已被激活(可能并非如此)。
跑步 :
vim --version | grep 'clipboard'
如果您得到“-clipboard”,那么您必须再次安装具有“剪贴板”功能的 vim。
您可以通过安装“vim-gtk3”或“gvim”来实现这一点。
解决方案
sudo apt-get install vim-gtk3 -y
这样,你就可以通过输入(包括加号)复制到剪贴板了"+y
答案2
在可视模式下按下y
会将文本复制到 vim 的特殊未命名寄存器中,该寄存器无法从 vim 外部访问。要将文本复制到系统剪贴板,请使用"+y
。"
允许您指定寄存器,+
是代表系统剪贴板的寄存器,您已经知道它的y
作用了。
或者,要告诉 vim 使用+
寄存器作为默认寄存器,请set clipboard=unnamedplus
输入 .vimrc。
答案3
如果有人在 Ubuntu 22 上使用 nvim 来到这里,这对我有用。
- 安装
xclip
sudo apt install xclip
- 从 vim 中删除默认剪贴板
vim.opt.clipboard = 'unnamedplus'
您现在可以在 vim 中y
/p
然后可以在系统范围内ctrl+c
/ 。ctrl+p
答案4
如果您想在关闭 vim 之后仍将寄存器的内容保留在系统剪贴板上,那么您可以使用xsel
( sudo apt-get install xsel
) 并将以下行添加到.vimrc
:
autocmd VimLeave * call system("xsel -ib", getreg('+'))
[也适用于 Ubuntu 20.04]