我试图将 vim 中的某些内容复制粘贴到另一个应用程序,并且从该应用程序vim
使用鼠标右键单击,然后复制并粘贴(或使用Ctrl+v和Ctrl+ 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=a
为mouse=r
,这应该可以解决您的问题。
我想知道的一件事是,你是否将鼠标设置为 mouse=a 来更改 vim 的配置文件?
原答案^
如果mouse=r
没有给您所有复制过去的选项,请将其更改为mouse=v
两者mouse=r
都mouse=v
具有您需要的相同功能,但根据您使用的 vimrc,其中一个会比另一个工作得更好。
答案2
mouse=a
对于 OS X 用户:使用复制粘贴alt而不是Shift选择文本。然后按预期工作cmd-c。cmd-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剪切,这应该可以工作。