在Putty中运行Vim并复制内容的方法

22

我正在通过putty和putty连接管理器运行Vim 6.3。我已经设置了鼠标选项(set mouse = a)。我能够通过将文本从(Windows)剪贴板粘贴到vim,但是在vim中选择文本却无法复制到剪贴板,有谁知道如何做到这一点吗?

注意:我无法将Vim更新到更新版本。

4个回答

68
按住Shift键,使用鼠标左键选择要复制的文本。当您释放键时,所选文本将被复制到Windows剪贴板中。

6
虽然这个方法是可行的,但它并不完全符合我的要求。它不是复制从选择开头到结尾的所有内容,而是复制框中的所有内容。是否有一种方法可以在我完成选择后将所需内容复制到剪贴板中? - Pulkit Sinha
选择模式是正常的,但我仍然得到了这个框。也许这是Putty连接管理器的问题? - Pulkit Sinha
1
不确定。我使用鼠标左键选择,然后使用Ctrl-C从vim中复制,它可以正常工作。 - jira
我只能使用这个来复制盒子里的内容。滚动不起作用。我正在使用MTPutty。 - kapad
1
这应该是被接受的答案。需要注意的一点是,如果你正在显示数字行,最好按住 Shift 和 Alt(Windows)。 - Webmaster G
显示剩余2条评论

6
你可以使用鼠标选择一些文本,然后输入:
"*y 将所选文本复制到剪贴板中,然后你就可以在另一个应用程序中使用剪贴板内容了。
如果 "*y 太麻烦了,你可以将以下内容放入主机的 .vimrc 中
:noremap y "*y

这并没有将文本复制到剪贴板。我不知道它复制到了哪里,但根据Putty的当前状态,应该接受Dunnie的答案。 - Webmaster G
我在Windows上使用MobaXterm和ssh中的vim时遇到了相同的问题。对我来说,在我的~/.ssh/config中添加ForwardX11Trusted yes,如这里所述,然后按照这里所述获取vim-gnome以添加剪贴板功能,问题得到了解决。 - Wolfson
由于在Windows上,*(复制选择)和+(Ctrl + C)寄存器之间没有区别,因此使用默认寄存器与"y一起工作。进入可视模式,使用导航移动而不是使用鼠标进行文本选择也同样有效。 - Wolfson

5

按下Ctrl-Insert可复制,Shift-Insert可粘贴


1
如何复制所有行(包括不在窗口中显示的行)?它只能复制屏幕上显示的行。 - niaomingjian

3

不要使用mouse=a。
将鼠标设置为命令行模式(:set mouse=c)。
然后,您只需选择文本即可将其放入系统剪贴板(与所有其他PUTTY/KITTY命令一样),


1
这是正确的,但为什么?我希望在vim中使用视觉模式进行鼠标选择,并使用“y”将选择复制到所有剪贴板。 - roeland

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接