vim系统寄存器 * 和+不工作

rmbxnbpk  于 2022-11-11  发布在  其他
关注(0)|答案(6)|浏览(266)

:echo has('clipboard')返回1,但是每当我执行"+yy""*yy"时,这些寄存器中似乎没有任何内容。如果我使用常规的yy复制另一行文本,然后尝试使用CONTROL+V从寄存器中粘贴,没有任何React。如果我尝试使用"+p,vim将粘贴我使用常规的yy命令复制的文本行。
这是怎么回事?顺便说一下,我在FreeBSD上。

shyt4zoc

shyt4zoc1#

您的vim版本可能无法使用X11剪贴板集成进行编译。
在vim中运行:version命令并在输出中查找xterm_clipboard,它将带有一个+(支持)或-(不支持)前缀。

p1tboqfb

p1tboqfb2#

另一个可能的问题是你的DISPLAY环境变量没有被正确设置。如果你从tmux或screen运行vim,有时会发生这种情况。
尝试打开一个新的终端,运行echo $DISPLAY,然后从运行vim的终端退出vim,执行export DISPLAY=:0(但用另一个终端的输出替换:0),然后重新进入vim,通过执行"+p来查看剪贴板是否工作。

ekqde3dh

ekqde3dh3#

Ubuntu 20.04Vim 8.1.2269中对我有效的是什么

sudo apt install vim-gtk3

说明

如果vim中尚不存在x_term_clipboard,则此软件包将添加对x_term_clipboard的支持。

  • 欲了解更多信息 *:Click Here,@布兰克布兰克的回答。
lvmkulzt

lvmkulzt4#

如果你已经复制了一些东西到剪贴板并粘贴到vim中,你可以使用"+p
+是一个引号加号,表示CLIPBOARD记录了X个选择。有关更多信息,请访问:help quoteplus
如果你想把vim中的内容复制到剪贴板,然后用Ctrl+v把内容粘贴到其他地方,你可以做"+yy,这会把当前行复制到剪贴板。
关于VIM寄存器更多信息:

:help registers
:help quotestar
qc6wkl3g

qc6wkl3g5#

我也遇到了这个问题。我的情况是显示在tmux中设置不正确。而且我找到了一个script来自动更新tmux显示。

9lowa7mx

9lowa7mx6#

我的问题是我的输入源English (US, intl., with dead keys),除了vim没有用x剪贴板编译。
我在Windows上没有遇到同样的问题,但是在Ubuntu 20.04上,我必须用这个输入源按"<space>+y

编辑:

看来我可以通过将输入源切换到English (Intl. with AltGr dead keys)来修复这个问题

相关问题