启用set mouse=a后,在Vim内部复制的文本将不会粘贴到Vim外部。有人知道怎么解决这个问题吗?

在这里,用鼠标选择文本将打开可视模式,并禁用弹出菜单中的复制选项:


当前回答

如果您正在使用,Putty会话,那么它会自动复制选择。 如果我们在vim中使用了“set mouse=a”选项,使用Shift+鼠标拖动选择自动选择文本。 需要检查x项。

其他回答

按住shift键复制粘贴选区对我很有用

在OSX上使用fn而不是shift。

另一个OSX-Mac选项是取消勾选View->允许鼠标报告(或按⌘- r切换它)。这允许你在鼠标交互和鼠标选择之间切换,这在选择和复制/粘贴一些位时可能很有用,因为你不需要按住修改键来做这件事。

有行号的多行注意事项:

我通常启用行号,所以如果你选择多行,这也会复制行号。如果你想复制多条没有行号的行,使用:set nonu禁用这些行号,然后你可以:set nu在复制完成后重新启用它们。

在用键盘或鼠标进行可视选择后使用",+,y。无论如何,您都不应该使用终端的copy命令,因为它复制的是终端看到的内容,而不是实际的内容。下面是它的作用:

,+告诉Vim使用名为+的寄存器进行下一次删除、删除或放入操作。命名为+的寄存器是一个特殊寄存器,它是X11剪贴板寄存器。(在其他系统上,你会用*来代替,我想,看:help clipboard和:help x11-selection) y是yank命令,它告诉Vim将选择放入前面命名的寄存器中。

你可以这样映射它:

:vmap <C-C> "+y

然后用鼠标高亮显示,然后按Control-C复制。

该特性仅在使用+xterm_clipboard选项编译Vim时有效。运行vim——version查看是否存在。

您可以在vim命令行中使用:set mouse&来启用使用鼠标选择的文本的复制/粘贴。然后您可以简单地使用鼠标中间按钮或shiftinsert粘贴它。