在 Vim 中自动复制选定的文本

在 Vim 中自动复制选定的文本

每当我在视觉模式下选择某些东西时Vim它会自动被复制。这会导致问题,因为我已经在剪贴板中粘贴了一些内容。

有什么方法可以禁用此功能吗?

这是因为我的 xterm 也有类似的行为吗?

答案1

如果对一些特定选项使用了某些设置,则可能会引发此行为。

  • 什么时候'剪贴板'包含autoselect设置,它在 *nix 下默认执行(仅适用于普通 vim),您的视觉选择将存储到寄存器中*
  • 什么时候‘guioptions’包含a设置,在 *nix 下默认执行此设置(仅适用于 gvim),您的视觉选择将存储到寄存器中*

* 登记与 Windows 中的剪贴板和 *nix 中的当前选定的文本(如选择文本,然后鼠标中键单击粘贴)同义。

'老鼠'也会产生影响,因为如果将其设置为a或包含两者nv则 Vim 将接收您的鼠标点击,并在您单击并拖动时启动可视选择。不过,可视选择内容的行为仍然由'clipboard'/处理'guioptions'

基本上,如果您使用的是 *nix,并且'clipboard'/的默认设置会在您进行视觉选择时被覆盖,因为这遵循了其他 *nix 应用程序在您选择文本时所做的操作。如果您使用的是 Windows,并且选项如上所述,那么您的剪贴板将被覆盖,因为和都会修改 Windows 上的剪贴板。'guioptions'"*"*"+

答案2

这是 Unix 特有的。我不知道在 vim 中可以做什么来改变这种行为。

X 具有选择缓冲区的概念,即当前选定的文本。此外,gvim编译时+xterm_clipboard支持标准剪贴板,在大多数应用程序中执行剪切/复制/粘贴操作时都会用到它。

可以使用 访问选择缓冲区"*。可以使用 访问剪贴板"+

如果您使用主剪贴板,其内容不会随着选择而改变。

相关内容