如何从PuTTY粘贴到Vim 8.0?

Tre*_*van 10 windows vim putty

脚本

从Windows 10周年更新客户端...

  • 打开Web浏览器,从网站复制/粘贴一些文本(例如GitHub)
  • 使用PuTTY 0.67 SSH到Linux VM(例如Ubuntu 16 Xenial Xerus)
  • 在Vim中打开一个文件
  • 点击i进入插入模式
  • 右键单击以粘贴剪贴板内容

问题

不幸的是,当我在PuTTY会话中右键单击而不是粘贴剪贴板内容时,实际发生的是Vim从INSERT模式进入(insert) VISUAL模式.我不认为我以前见过这样的事情.

有谁知道为什么会发生这种情况,以及如何将我的Windows客户端剪贴板粘贴到SSH/Vim会话中?

图片

小智 15

看来这个问题是由于VIM 8.0及更高版本的默认值发生了变化.

以前的版本关闭了鼠标模式(mouse=),但新的默认设置是打开鼠标模式(mouse=a).

有三种方法可以解决这种情况:

  1. 适应它:打开鼠标模式后,新的粘贴方式是右键单击(至少在PuTTY中)
  2. 更改它:您可以通过键入:set mouse=和<enter> 关闭当前VIM会话的鼠标模式
  3. 还原它:您可以通过使用"C"开关(vim -C {filename})调用VIM来覆盖新的默认值,它将恢复为该会话的Vi"兼容"设置

当然,您始终可以添加set mouse=到.vimrc文件中以使其永久化.但这对我不起作用,因为我在太多不同的系统上跳来跳去.

  • 我认为问题的一部分是 PuTTY 默认值 - 它设置了 TERM=xterm,但是如果您设置 TERM=putty,则鼠标右键会按预期工作。 (2认同)

Tre*_*van 6

我通过关闭鼠标模式解决了这个问题。

:set mouse=
Run Code Online (Sandbox Code Playgroud)