2

我想知道,如何在 Ubuntu 中启用将选定文本自动复制到“+”寄存器中(在应用程序之间共享剪贴板)?在win XP上,我有

设置 guioptions+=a

它可以完美运行,但不能在 Ubuntu 11.10 中运行。

另外,我试过

设置剪贴板=unnamedplus,unnamed,autoselect,exclude:cons\|linux.

但没有成功。

请不要提供诸如 vmap <C-Insert> "+y鼠标复制/粘贴之类的手动单击解决方案。

测试用例(带有“behave mswin”选项):

  1. 打开gvim

  2. shift- v,移动光标和Esc(在视觉模式下选择行)

  3. 转到 Firefox 并单击ctrl-vctrl-Insert粘贴文本

解决方案

在这个线程中,问题得到了解决。

您需要应用 Christian Brabandt 的补丁。

shift此外,如果在 ubuntu 中重新编译后使用-粘贴有问题insert,可以在 vimrc 中添加:

if has("gui_running")
    map <silent> <S-Insert> "+p
    cmap <S-Insert> <C-R>+
    imap <silent> <S-Insert> <Esc>"+pa
endif
4

2 回答 2

0

"+y行得通吗?这不是建议:如果此命令不起作用,您可能会遇到一些潜在的问题,阻碍了简单的解决方案。因此,即使听起来很愚蠢,也需要先对其进行检查。

set clipboard+=unnamedplus如果你的 Vim 版本支持它就足够了。我的是 7.3.35,但它不起作用(不过,Vim 不会抱怨)。

我不确切知道引入了哪个补丁unnamedplus,但您可以:help 'clipboard'(使用单引号)获得可用选项列表。如果unnamedplus列出,上面的代码片段应该可以解决您的问题。如果它不在那里,您将无法使用它(显然):是时候重新评估您的“不提供诸如vmap "+y鼠标复制/粘贴之类的手动单击解决方案”要求或编译更新版本的 Vim。

于 2012-04-21T14:50:57.470 回答
0

尝试以下操作:

set guioptions+=P

解释:

TLDR:a将文本放入"*寄存器。P将文本放入"+寄存器

:help guioptions

'a' 自动选择:如果存在,那么无论何时启动 VISUAL 模式,或扩展可视区域,Vim 都会尝试成为窗口系统全局选择的所有者。这意味着可视化突出显示的文本可用于粘贴到其他应用程序以及 Vim 本身。当可视模式结束时,可能是由于对文本的操作,或者当应用程序想要粘贴选择时,突出显示的文本会自动拉到“*选择寄存器中。因此,选择后仍然可以粘贴到其他应用程序中VISUAL 模式已经结束。如果不存在,那么 Vim 将不会成为窗口系统的所有者

'P' 与自动选择类似,但使用 "+ 寄存器而不是 "* 寄存器。

于 2019-12-14T20:32:12.857 回答