如何在 ubuntu 20.04 上从 vim 复制到剪贴板

如何在 ubuntu 20.04 上从 vim 复制到剪贴板

我尝试在 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 来到这里,这对我有用。

  1. 安装xclip
sudo apt install xclip
  1. 从 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]

相关内容