当鼠标 (:set mouse=a) 打开时,vim 的复制粘贴不起作用?

当鼠标 (:set mouse=a) 打开时,vim 的复制粘贴不起作用?

我试图将 vim 中的某些内容复制粘贴到另一个应用程序,并且从该应用程序vim使用鼠标右键单击,然后复制并粘贴(或使用Ctrl+vCtrl+ c,显然还尝试了Commandmac OSX 的版本。)。但是,当我尝试执行此操作时,它仅复制第一个单词,当vim我从应用程序执行此操作或从应用程序复制到 时vim,它会复制所有内容,但会插入奇怪的制表符和空格。我认为当我决定在终端中打开鼠标时发生了这种情况。如:

:set mouse=a

.vimrc我在 iTerm (mac os x) 上的文件中有这一行。不过,是否可以将我的复制粘贴到其他不存在的应用程序中,vim以免中断mouse=a?或者至少可以在复制粘贴时关闭鼠标吗?我做了:help鼠标,但评论对我没有用。我会把它们粘贴到这里,但是......我的复制粘贴工具坏了!

我确实尝试过:set mouse!:set mouse=a!但这些没有任何用处......:(


我的环境的附加信息:

我大部分时间也使用 tmux,不过,我在没有 tmux 会话的情况下测试了这个错误/bug,这就是为什么我主要将其发布为 vim 问题。

答案1

mouse=a阻止从 vim 中复制和粘贴可读字符的能力。

更改mouse=amouse=r,这应该可以解决您的问题。

我想知道的一件事是,你是否将鼠标设置为 mouse=a 来更改 vim 的配置文件?

原答案^

如果mouse=r没有给您所有复制过去的选项,请将其更改为mouse=v

两者mouse=rmouse=v具有您需要的相同功能,但根据您使用的 vimrc,其中一个会比另一个工作得更好。

答案2

mouse=a对于 OS X 用户:使用复制粘贴alt而不是Shift选择文本。然后按预期工作cmd-ccmd-v

在这里找到了这个答案https://stackoverflow.com/a/4608387/671639经过大量谷歌搜索后。

答案3

https://stackoverflow.com/questions/4608161/copy-text-out-of-vim-with-set-mouse-a-enabled/4608387

用鼠标选择时按“shift”键。这将使鼠标选择的行为就像未启用 mouse=a 一样。

这是可行的,并且已被 stack-overflow 的审阅者验证,他们已接受此作为答案:)

答案4

巴拉特的解决方案Shift在复制时按 ,即可完成此操作,但在编号或散列注释的情况下,它会复制比您想要复制的内容更多的内容。

一种方法是这样做,即使鼠标=一个V是通过按单个光标或Shift+来使用视觉模式V以显示整行突出显示,您可以使用箭头向上或向下移动并用于Y复制或D剪切,这应该可以工作。

相关内容