:echo has('clipboard')
返回1,但每当我执行"+yy"
或"*yy"
似乎没有任何东西在这些寄存器中.如果我使用常规yy
来复制另一行文本,那么尝试从寄存器中粘贴,CONTROL+V
没有任何反应.如果我尝试"+p
使用常规yy
命令粘贴我复制的文本行.
这里发生了什么?顺便说一下,我在使用FreeBSD.
Dee*_*pta 10
什么对我Ubuntu 20.04
有用Vim 8.1.2269
sudo apt install vim-gtk3
Run Code Online (Sandbox Code Playgroud)
说明
此包添加了对x_term_clipboard
in 的支持vim
(如果尚不存在)。
欲了解更多信息:单击此处,@blankblank 的答案。
小智 9
您的vim版本可能未与X11剪贴板集成一起编译。
在vim中,运行:version命令并在输出中查找xterm_clipboard。它的前面将带有+(支持)或-(不支持)符号。
另一件可能发生的事情是您的DISPLAY
环境变量设置不正确。如果您从 tmux 或屏幕运行 vim,有时可能会发生这种情况。
尝试打开一个新终端,运行echo $DISPLAY
,然后从运行 vim 的终端,离开 vim,执行export DISPLAY=:0
(但将 :0 替换为其他终端的输出),然后重新输入 vim 并通过执行 来查看剪贴板是否工作"+p
。
如果您已将某些内容复制到剪贴板并将其粘贴到 vim 中,则可以使用"+p
.
+
是一个 quoteplus,表示CLIPBOARD
记录的 X 选择。:help quoteplus
了解更多信息。
如果你想将vim中的某些内容复制到剪贴板并通过 粘贴到其他地方Ctrl+v
,你可以这样做"+yy
,这会将当前行复制到剪贴板。
有关 vim 寄存器的更多信息:
:help registers
:help quotestar
Run Code Online (Sandbox Code Playgroud)