oflyhigh avatar

再遇灵异事件:树莓派vi插入模式下无法用鼠标右键贴代码

oflyhigh

Published: 31 Oct 2025 › Updated: 31 Oct 2025再遇灵异事件:树莓派vi插入模式下无法用鼠标右键贴代码

再遇灵异事件:树莓派vi插入模式下无法用鼠标右键贴代码

说起来好久没怎么高强度和服务器、和代码打交道,所以之前一段时间真的是岁月静好。但是这段时间爬起来干一些活,竟然总会遇到奇奇怪怪的问题。

computer-4795762_960_720.jpg
(图源 :pixabay)

话说之前不是准备淘汰老旧的香蕉派(BananaPi M3)嘛,因为它不但硬件老旧,系统也超级老旧啦,我搜索的一下,竟然有四五年没有更新对应板卡的OS啦,这和树莓派社区对老旧板卡的支持相比就是云泥之别呀。

没错,淘汰老旧的设备必然要启用新设备,看过我帖子的朋友肯定知道,我要启用的新设备就是树莓派4,其实说不上很新,但是是我当年斥巨资1000多大洋买的8G内存版,应该还能再战斗几年。

前些天装系统,改配置等操作都没啥问题,而且也成功把树莓派摄像头启用起来了,继续让它实现监控的功能。

问题描述

但当我打算在其上部署一些代码——直接从其它机器上COPY代码过来时,却遇到一个奇怪的问题,在vi编辑器中,我无法使用鼠标右键来粘贴代码到编辑器中!

相同的操作我在各种不同的机器上老旧的树莓派、香蕉派、各种版本的Ubuntu本地机、各种版本的VPS,都是这样操作的:鼠标拖拽选中其它机器中的内容;在vi中使用ESC,再按字母i,就进入到插入模式了。

然后鼠标点击右键,就会把粘贴板中的内容(之前鼠标选去的内容)插入到当前光标处!这绝对不会有错误,当年我曾经深入的学习过VI的各种指令和操作——但还能记住的不多,这是能记得住的操作之中最常用的一个(因为经常在各个机器之间复制一些代码、设置等)。

可是,用了无数年的,手拿把捏的,轻车熟路的操作为啥就不好用呢?哦对了,看我这记性,还没说是啥故障现象呢。

就是我在香蕉派vi编辑器中这样操作,底下的INSERT就会变成-- (insert) VISUAL --:
40b6bc3d-4193-47c7-934d-4a59417b8713.png

然后,就没有然后了,我根本不知道怎么继续,即便我再使用ESC以及i回到插入模式,故障依旧。怎么最近就总遇到这些奇奇怪怪的问题呢?莫非真的和走进科学怼上啦?

尝试解决

不过作为自己套上枷锁的牛马,还能有什么办法呢?那就是研究呗。当然,最好的方式就是问Google了。

于是我发出这样的疑问:

Paste is unavailable when right-clicking on the Raspberry Pi in vi.

我突然间想起好多好多年前,在某中文Unix社区,某大神写了一篇文章,叫做《提问的智慧》。大意是如何把要问的问题表达的清楚明白!

比如有些中文社区小伙伴,经常微信上私聊我问我:“发不了帖子了,怎么办?”

我就会很疑惑,到底是怎么了叫发不了帖子了呢?比如我在飞机上,没有无线网5G啥的信号,也没有WIFI,这样也发不了帖子呀?!

当然,这只是一个杠精式举例,但是说到发不了帖子,自然就会有以下问题:

  • 用的什么站点或者客户端?
  • 能否正常地访问站点或者客户端?(会不会是梯子的问题)
  • 能否正常地登陆网站或者客户端(会不会是账户、密钥问题)
  • 能否正常地编辑帖子和插入图片等(客户端的问题?)
  • 帖子发布时出了什么样的提示?(API节点问题)
  • 其它待补充的问题(比如有没有可能是家里的电脑或者网络坏了?)

所以说,遇到诸如“发不了帖子了,怎么办?”这样的问题,让不让人头大?

但如果你这样说:

我使用XXX客户端,正常访问和登陆,也可以正常编辑,但是点击提交时出了如下错误。提示信息为XXXX。另外,这是截图。

那我可能一下子就找到了问题所在。

扯远了,我问的问题也不算有多高明,但是这样问,能在Google找到答案就好。Google AI 直接给出了导致这个问题的原因:

Your right-click "Paste" option is unavailable in the terminal version of vi on Raspberry Pi due to a configuration setting that gives vi control over mouse events

然后贴心地给出了四个答案:

  • Solution 1: Use keyboard shortcuts
  • Solution 2: Temporarily disable mouse support
  • Solution 3: Make the change permanent
  • Solution 4: Use the middle mouse button

我试了一下,1、2根本不好用,3、4本质上是同个答案(临时方案和永久方案)

我把方案3、4贴在这里,有遇到类似的问题的,也不用重新去搜索了。
1931fa70ebe80261a305e19904d7ce8f.png

深入了解

但是感觉还是不够优雅,以及为什么在这个树莓派新版OS上出现这个问题,以前都没遇到过呢?于是又深入地去搜索和了解了一下。

折腾一番之后,找到这样一篇文章:Fix vim right click paste not working

这是一篇2021年十月份的文章,虽然有些老旧了,但是完美地帮我解答了疑问——以及,解决了问题。

之所导致我遇到的这个问题,就是因为这个原因:

If Vim is started normally and no user vimrc file is found, the $VIMRUNTIME/defaults.vim script is loaded

使用如下指令搜索了一下默认的配置文件

grep mouse /usr/share/vim/vim91/defaults.vim

果然发现如下内容:
3d934fe2a8037996fccf34b52a3663b9.png

而在我其它机器上同样的搜索,却没有set mouse=a类似的字样,这就是导致问题以及差异的根源所在呀!

最佳方案

好了,现在我们知道了导致这个问题的缘由所在,也知道了解决方案,但事情就到此为止了嘛?

或许这些解决方案(创建.vimrc且设置set mouse=)在某种环境下正常工作,但是在最新版本的树莓派OS中,会带来个新问题,那就是默认配置没有加载,代码高亮等特性也没啦!

这显然不是我想要的结果呀,所以又是一番深入探索后,发现帮助文件中这样信息:
2bf26f1c48c82a2b199dba81b4a033ae.png

所以这回才是圆满的解决方案,在.vimrc中加入如下内容:

unlet! skip_defaults_vim
source $VIMRUNTIME/defaults.vim
set mouse=

搞定收工,《走近科学》剧组再次被我放鸽子啦。

相关链接

Leave 再遇灵异事件:树莓派vi插入模式下无法用鼠标右键贴代码 to:

Written by

Programmer, Maker, Freelancer, Witness. Make friends, Make money, Make life better!

Read more #cn posts


Best Posts From oflyhigh

We have not curated any of oflyhigh's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From oflyhigh