将 vim 选定的文本复制到系统剪贴板

将 vim 选定的文本复制到系统剪贴板

我的 vim 没有编译clipboard功能。所以,我xsel按照建议使用吉尔斯复制/粘贴内容。

我用于:.w !xsel -b选择当前行并:w !xsel -b选择整个文档。

但有时,我需要将使用完成的多行选择移动V到剪贴板。我该如何使用xsel

注意:我尝试过Ctrl-Shift-c,但没有成功。无论如何,我不太喜欢 Ctrl 组合键,因为它会弄断我的手指。

答案1

您仍然可以在视觉模式下执行基本相同的操作。选择区域后,点击以下1

:'>,'> !tee >(xsel -b)

您需要通过管道来tee确保所选区域的内容不会被清除。

1改编自这里

答案2

事实证明这非常简单:使用“v”命令突出显示您想要的文本区域。立即按下“!”命令,然后是您的命令。

所以序列是“v”“!”

答案3

键入:w !xsel -b以复制视觉选择。当您在视觉选择处于活动状态时按:,这会插入一个指定视觉选择的范围,因此您最终将执行:'<,'>w !xsel -b.

这将复制部分或完全选择的所有行,即完全包含选择开始的行和选择结束的行,甚至包括未选择的部分。我不知道如何准确复制选择。

当然,如果 Vim 是使用该+clipboard选项编译的,则使用"+y.

我有寻找一种在 Vim 没有剪贴板支持时"+使用的方法xsel,但我没有得到完全有效的答案,这似乎非常困难。

相关内容