使用Putty时如何将内容粘贴到Vim中

82
我正在使用putty连接远程主机并通过vim进行编辑。当我尝试将一些内容粘贴到vim中时,遇到了麻烦。也就是说,我在本地主机上将某些内容复制到剪贴板中,希望将其粘贴到putty中打开的远程主机上的vim中。如何操作呢?
提示:我正在使用putty!因此,我通过putty打开一个vim窗口。最重要的是,我想在本地主机上复制某些东西,并将其粘贴到通过putty打开的vim编辑器中。这就是全部内容。谢谢!

你是如何尝试将内容粘贴到 [tag:vim] 中的?这个回答对你有帮助吗?https://dev59.com/im035IYBdhLWcg3wPdkS#14225889 - pfnuesel
我想将某些内容粘贴到 Putty Vim 窗口中。 - dj199008
5个回答

154

5
Shift + Ins 可将剪贴板内容粘贴到 PuTTY 窗口中。但我需要将剪贴板内容复制到 PuTTY 打开的 Vim 编辑器中。 - dj199008
5
你需要进入编辑模式而不是可视化模式,尝试按下 i 键,然后按 Shift + Ins。 - markcial

68

您可以通过右键点击鼠标(默认设置)或按下 Shift + Ins 来插入来自主机剪贴板的文本。请注意,这与手动输入每个字符的效果相同。因此,如果您在vim中使用自动缩进,这很可能会破坏您的代码。

为了解决这个问题,您可以执行以下操作:

  1. 在粘贴到vim之前,通过输入 :set paste 启用粘贴模式。

  2. i 进入插入模式。状态栏现在应该显示 -- INSERT (paste) --

  3. 按下 右键 将您要粘贴的内容粘贴进去。vim的自动缩进不应该发生。

    如果这使你进入了 --(insert) VISUAL-- 模式,请使用 Esc 退出该模式(再次进入粘贴插入模式),然后尝试同时按住 Shift 使用您的右键再次粘贴它。

  4. 按下 Esc 退出插入模式,并再次使用 :set nopaste 禁用粘贴模式。

您可以在PuTTY的“窗口/选择”配置页面更改用于粘贴的鼠标按钮。


第三步进入--插入(可视化)--。 - NONONONONO
当vim进入“--(插入)可视--”模式时发生了什么?为什么按住Shift键可以粘贴? - semitones

46

Windows子系统Linux中,似乎需要执行以下操作:

  1. i = 进入-- INSERT --模式
  2. Shift-右键单击鼠标 = 粘贴

如果只是右键单击鼠标(即不带shift),则令人感到恼火的是,模式只会更改为-- (insert) VISUAL --,而不会粘贴任何内容。


3
我发现在Windows系统通过putty会话访问较新版本(8.0)的Vim时,使用Shift加右键点击同样有效。 - Wilson Waters
3
您可以通过在您的 .vimrc 文件中添加 set mouse-=a,恢复右键粘贴的先前行为(来源)。 - Wilson Waters
4
反过来也适用,当使用 left-mouse-drag 时,Putty无法从Vim中复制文本,但使用Shift left-mouse-drag可以。 - MSalters
通过 PuTTY,Shift-right-mouse-click 对我有效。 - Lorem Ipsum
一直没有使用shift键,不知道发生了什么。Vim 8.1需要使用shift+右键单击,而且非常好用! - Grzegorz
谢谢 @MSalters!这个问题困扰了我一段时间了! - Chagai Friedlander

4
为了更加清晰地解释之前的回答,根据 Vim 是否支持鼠标操作,有几种实现方法。假设是通过某种终端/Putty 进行操作:
  • 在远程 Vim 中不使用鼠标时,右键单击即可从本地剪贴板通过 Putty 粘贴到远程 Vim。
  • 启用远程 Vim 鼠标功能后,按下 Shift + Ins 即可从本地剪贴板通过 Putty 粘贴到远程 Vim。
  • 按下 Ctrl + Shift + v 可以从本地原生/*nixish/xterm 剪贴板粘贴到远程 Vim。
  • 启用远程 Vim 鼠标功能后,中键单击即可从远程剪贴板粘贴到远程 Vim。

-1

在Windows和PuTTY之间复制粘贴:

要从Windows复制并粘贴到PuTTY,请在Windows中突出显示文本,按“Ctrl-C”,选择PuTTY窗口,然后按鼠标右键进行粘贴。要从PuTTY复制并粘贴到Windows,请在PuTTY中突出显示信息,然后在Windows应用程序中按“Ctrl-V”进行粘贴。

在两个独立的PuTTY vim之间复制粘贴:

在源PuTTY中突出显示信息,然后在目标PuTTY中按鼠标右键进行粘贴。


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