如何选择+
寄存器?按照以下说明将文本从 vim 复制/粘贴到另一个 vim 时遇到问题:
In the vim, highlight, select + register, and yank (save) to it:
Shift-v
"+y
In the second vim, select + register, and paste from it:
"+p
Run Code Online (Sandbox Code Playgroud)
我想我按错了键。当它说"+y
,我只需点击按键",+,y按顺序?(即Shift+ '、Shift+ =、y)。它对我不起作用。
我在 X11 终端中使用 Red Hat 和 vim。而vim版本是
$vim --version | grep xterm_clipboard
-xterm_clipboard -xterm_save
Run Code Online (Sandbox Code Playgroud)
Vim 使用系统剪切和粘贴机制在实例之间复制文本。当您在终端中运行 vim 时,它无法直接访问任何剪切和粘贴机制。如果 vim 运行在 xterm 或其他提供对 X 选择和剪贴板内容的访问的终端中,vim 可以使用它;但是,您的 vim 二进制文件是在不支持该功能的情况下编译的。
如果两个 vim 实例都在同一台机器上运行,则可以使用临时文件进行通信:
:w ~/vim.tmp
:r ~/vim.tmp
Run Code Online (Sandbox Code Playgroud)
如果两个 vim 实例都连接到同一个 X 显示(因为DISPLAY
环境变量指向同一个 X 显示,vim 程序本身不需要任何类型的 X 支持),您可以通过外部使用 X 选择xsel或xclip等程序。您可以省略p
或-selection primary
或选择不同的选择(-s
/secondary
或-b
/ clipboard
)。使用:w !
(注意空格)复制:
:w !xsel -ip
:w !xclip -i -selection primary
Run Code Online (Sandbox Code Playgroud)
并:r!
粘贴:
:r !xsel -op
:r !xclip -o -selection primary
Run Code Online (Sandbox Code Playgroud)