无法从 Vim 复制到剪贴板

mak*_*sim 38 debian vim linux-mint vimrc

我在 Linux Mint 13(使用 MATE)下运行 Vim 7.3,但我无法将文本保存到系统剪贴板。我在终端中运行 Vim 并使用CTRLINSERT. 当我在 Vim 中选择文本(使用鼠标或在可视模式下)时,CTRLINSERT不会复制任何文本。此外,当我右键单击时,复制是灰色的。此外,我无法通过使用 vim 命令拉到相应的寄存器来写入系统缓冲区。但是,我可以在插入模式下进行粘贴(使用SHIFTINSERT或右键单击粘贴)。我也可以使用相同的技术直接从终端复制文本,而不是来自 Vim 的文本。

这是我当前的 ~/.vimrc。相关部分最有可能set clipboard=autoselect,unnamed,exclude:cons\|linux。如果我放在finish~/.vimrc 的顶部,我有同样的问题,所以我认为该行是错误的,但我已经尝试过set clipboard=unnamed并且有相同的行为。

是否有另一个配置文件影响 Vim 的行为?如何更改 ~/.vimrc 以允许我从 Vim 复制文本?

小智 70

我相信您的复制问题是由以下原因引起的:

mouse=a 
Run Code Online (Sandbox Code Playgroud)

在您的 .vimrc 中,每当您用鼠标选择某些内容时,这会将您的 vim 设置为可视模式。并且出于某种疯狂的原因,在可视模式下不允许复制。您可以通过在选择文本时按住 shift 键不进入可视模式来绕过它,从而允许您使用复制菜单。

或者您可以更改为:

:set mouse=v
Run Code Online (Sandbox Code Playgroud)

和复制将再次工作。如果您希望它是永久性的,请将其添加到您的 ~/.vimrc 文件中

  • 虽然这实际上可能会解决他们的问题,但解释 * 为什么它有效 * 会更有用。没有它,你的答案只是告诉某人 [按绿色按钮两次](http://blog.serverfault.com/2011/06/09/press-the-green-button-twice/) - 它可能有效,它可能不会,但它不会启发他们。 (4认同)

Cor*_*ein 14

sudo apt-get install vim-gtk 可能会为其他 Google 员工解决这个问题。

好的终端式 vim 无法访问剪贴板,剪贴板是 X windows 系统的一部分。安装vim-gtk为 vim 提供了修改和查看剪贴板所需的访问权限。

  • 作品!在 Debian Buster(目前正在测试)上,我安装了 vim-gtk,然后我在 xterm 中的命令行 vim 允许我使用 `*` 和 `+` 缓冲区来访问 x 窗口缓冲区。vim-gtk 安装使用 Debian 替代品来设置 `vim -> /usr/bin/vim.gtk`。 (2认同)