当前位置: 首页 > news >正文

Linux | Vim 鼠标不能右键粘贴、跨系统复制粘贴

注:本文为 “ Vim 中鼠标右键粘贴、跨系统复制粘贴问题解决方案” 相关文章合辑

未整理去重。


Linux 入门:vim 鼠标不能右键粘贴、跨系统复制粘贴

foryouslgme 发布时间 2016 - 09 - 28 10:24:16

Vim 基础

  1. 命令模式(command - mode):多用于操作文本文件(而非操作文本文件内容),如保存文件;或改变编辑器自身状态,如设定多栏窗口、标签或退出编辑器等。进入命令模式:按 esc + :,再输入命令,例如 :w 保存当前文件不退出,:q! 强制退出,:x 保存且退出。
  2. 插入模式(insert - mode):用于修改文本内容。进入插入模式:在正常模式下按特定插入符,具体如下:
    • i:在光标所在字符前开始输入文字并进入插入模式。
    • a:在光标所在字符后开始输入文字并进入插入模式。
    • A:在行尾开始输入文字并进入插入模式。
    • o(字母 o):在光标所在行的下面单独开一新行来输入文字并进入插入模式。
    • O(大写字母 O):在光标所在行的上面单独开一新行来输入文字并进入插入模式。
    • s:删除光标所在的字符并进入插入模式。
    • I:在行首开始输入文字并进入插入模式。
    • S:删除光标所在行并进入插入模式。
    • G:跳转到文章末尾。
    • crtl + f:向下翻页。
    • ctrl + b:向上翻页。
  3. 可视模式(visual - mode):相当于高亮选取文本后的普通模式,具有子模式,包括以行为单位进行选取的可视行模式(使用 “V” 键进入)和以块为单位进行选取的可视块模式(使用 “Ctrl + v” 键进入)。进入可视模式:在正常模式下按 ctrl + v|V
  4. 正常模式(normal - mode)(普通模式):主要用于浏览和修改文本内容,一般打开 Vim 即处于正常模式。进入正常模式:在任何模式下,按下 Esc 键即可返回正常模式。

不能右键粘贴设置方法

使用 vim 时,鼠标右键不能粘贴而是进入了 visual 模式,解决方法如下:

方法一

在命令模式下输入 :set mouse-=a

方法二

编辑 ~/.vimrc 文件,加入如下代码:

if has('mouse') set mouse-=a 
endif

注:set mouse=a 用于开启鼠标功能,其中 a 表示所有模式。

vi 有三种模式:命令模式、插入模式、可视模式。鼠标可在各种模式中启用,具体如下:

The mouse can be enabled for different modes:
`n` Normal mode
`v` Visual mode
`i` Insert mode
`c` Command - line mode
`h` all previous modes when editing a help file
`a` all previous modes
`r` for |hit - enter| and |more - prompt| prompt

通常,使用 :set mouse=a 来启用所有模式下的鼠标功能(等价于设置 mouse 为 “nvich”)。若只想在特定模式下使用鼠标,可针对性设置,例如:

  • :set mouse=nv:使鼠标在普通模式和可视模式下工作。
  • :set mouse=h:使鼠标仅在帮助文件中工作(可通过 “g” 进行标签跳转)。

鼠标能否在可视模式或选择模式下开始选择,取决于 “selectmode” 选项是否包含 “mouse”。

查看之前的复制内容,可在命令模式下输入 :reg
在这里插入图片描述
>>>>>><<<<<< 等与 git 中的修改记录类似。


Vim 配置#Vim 中使用鼠标功能

马丁路德彬 发布时间 2017 - 02 - 10 11:53:47

1、简介

近期使用 vim 时,发现 vim 也可使用鼠标,本章主要介绍如何启用鼠标功能。

2、打开鼠标功能

在命令模式下输入 :set mouse=a

3、关闭鼠标功能

在命令模式下输入 :set mouse-=a

4、鼠标模式

‘mouse’ 的参数说明如下:

// n  普通模式
// v  可视模式
// i 插入模式
// c 命令行模式
// h 在帮助文件里,以上所有模式
// a 以上所有模式
// r 跳过|lit - enter|提示
// A 在可是模式下自动选择

'mouse' 的缺省值为空,即默认不使用鼠标。通常可使用 :set mouse=a 来启用鼠标(此设置等价于将 'mouse' 设为 “nvich”)。若只想在某些模式或特定任务中使用鼠标,需关注对应模式的字母,例如:

  • :set mouse=nv:使鼠标在普通模式和可视模式下可用。
  • :set mouse=h:使鼠标仅在帮助文件中可用(可通过 “g” 实现标签跳转)。

鼠标能否在可视模式或选择模式下开始选择,取决于 “selectmode” 选项是否包含 “mouse”。

5、解决鼠标模式右键不能粘贴问题

在设置了 'mouse' 选项(见上文)的情况下,使用鼠标和可视模式进行复制/粘贴的步骤如下:

  1. 在文本的第一个字符上按鼠标左键,移动鼠标到文本的最后一个字母,然后释放左键。这将启动可视模式并高亮选择区域。
  2. 按 “y” 将可视文本抽出到无名寄存器中。
  3. 在要插入的位置上按鼠标左键。
  4. 按鼠标中键(滚轮)进行粘贴。

解决配置 vim 之后不能鼠标右键复制问题

路安在 发布时间:2022 - 05 - 21 12:31:30

问题描述

配置完 vim 后,无法使用鼠标右键进行复制和粘贴,但从 vim 外复制的内容可通过鼠标右键粘贴。

解决问题过程

起初,尝试对 vimrc 文件中有关复制的命令进行注释和删除,但均未解决问题,CTRL + cctrl + v 也无法使用。
随后,搜索浏览网上解答,部分回答称选中需要复制的内容后按键盘上的 y 即可复制,但实际操作时,选中内容未复制成功且被 y 字母覆盖。
最终,通过参考 https://blog.csdn.net/victoryckl/article/details/8122012 解决了问题。

解决方法

常规复制粘贴

  1. 先将光标置于要粘贴的位置或空白处。
  2. 找到要复制的语句,在键盘上一直按住 shift,再用鼠标左键选中,然后点击鼠标滑轮,选中的语句或内容将直接粘贴到光标所在位置,无需使用 crtl + V

跨界面复制粘贴

  1. 在 Vim 界面中,直接找到需要复制的语句,先按住 shift,再用鼠标左键选中。
  2. 无需点击鼠标滑轮。
  3. 切换到其他界面,通过鼠标右键进行粘贴。

总结

  • 复制:按住 shift,再用鼠标左键选中。
  • 粘贴:点击鼠标滑轮,内容将直接粘贴到光标位置。

Vim 全局配置 / 设置鼠标模式

BrandonPei 发布时间 2023 - 12 - 03 15:10

在新安装的 Linux(Debian)系统上,vim 一右击粘贴就进入 insert(Visual)模式。经查询,需设置 set mouse=,但每次设置较为麻烦,同时还想修改全局配色。

定位全局配置文件

有博客指出,在 /usr/share/vim/share/... 下有个 vimrc 文件,但不同系统或版本可能存在差异。一般先在 /usr/share/vim 目录下查找,在此找到了 /usr/share/vim/vimrc 文件,文件末尾有如下几行:

" Source a global configuration file if available
if filereadable("/etc/vim/vimrc.local")source /etc/vim/vimrc.local
endif

由此可知,应修改 /etc/vim/vimrc.local 文件。分析为何设置 vimrc.local 而非直接修改原文件:vim 每次更新后可能修改默认配置,直接修改会在更新时产生冲突,而 local 表示本地配置,与上游 vim 配置无关。

最终在 /etc/vim/vimrc.local 文件中添加如下内容:

set mouse=
colorscheme slate

补充说明
经实测,在上述位置添加 set mouse= 不会生效。
参考

  • vim 设置 mouse 行为不生效 - 简书
    https://www.jianshu.com/p/29744bae5f3d

可知,鼠标的行为在 vimrc.local 之后加载。因此,有两种解决方法:

  1. /etc/vim/vimrc.local 中添加 let skip_defaults_vim = 1
  2. 在要用的 root 用户主目录下创建 .vimrc 文件,但这样会导致 root 用户没有代码高亮。解决办法是在 ~/.vimrc 中添加一句 source,即:
source $VIMRUNTIME/defaults.vim
set mouse=""

补充说明 2
考虑到鼠标模式较为有用,可设置快捷键以便快速切换鼠标和非鼠标模式。在 /etc/vim/vimrc.local 中添加以下代码:

map <F9> <ESC>:call Mouse()<CR>function Mouse()if has('mouse')if &mouse=="":set mouse=a:echo "mouse enabled"else:set mouse="":echo "mouse disabled"endifelse:echo "no mouse"endif
endfunction

上述代码中,map 命令将 F9 按键绑定到 <ESC>:call Mouse()<CR>。其中,ESC 用于应对已进入 Visual 模式的情况,先退出该模式,再执行函数;CR 表示换行,用于应用命令。函数中 &mouse 表示获取 vim 中 mouse 选项的值。


vim 设置 mouse 行为不生效

sarto 属地:陕西 发布时间 2021.04.01 10:00:56

vim 在 debina 下的运行环境

在 vim 中输入 :echo $VIMRUNTIME,会显示 /usr/share/vim/vim81,此为 debian vim 运行环境的路径。

vim 中在 vimrc 中修改 mouse 不生效的问题

vimrc 中设置 vimrc-=a 未生效,经查找发现,/usr/share/vim/vim81/defaults.vim 中默认的鼠标行为影响了 vimrc 的配置。将该文件中如下代码:

78 if has('mouse')
79   set mouse=a
80 endif

set mouse=a 改为 set mouse-=a 即可。

最后编辑时间:2021.04.01 10:01:14


vim 鼠标右键无法复制

jeensung 发布时间 2010 - 12 - 14 20:20:32

修改 ~/.vimrc 文件后,发现鼠标右键无法复制文本。在配置文件(~/.vimrc)中发现如下内容:

11 " In many terminal emulators the mouse works just fine, thus enable it.
12 if has('mouse')
13     set mouse=a
14 endif

在 vim 帮助文件中,关于鼠标模式有如下解释:

The mouse can be enabled for different modes:n    Normal modev    Visual modei    Insert modec    Command - line modeh    all previous modes when editing a help filea    all previous modesr    for |hit - enter| and |more - prompt| prompt
Normally you would enable the mouse in all four modes with::set mouse=a
When the mouse is not enabled, the GUI will still use the mouse for
modeless selection. This doesn't move the text cursor.

可见,配置文件中的 set mouse=a 启用了所有模式,导致 vim 接管了鼠标控制。

鼠标事件有程序处理和 X 处理两种方式。若由 X 负责处理,则是左键选择,中间粘贴。要让 vim 中由 X 负责处理,有以下两种方法:

  1. 按住 shift 键进行选择,此时由 X 处理该选择,copy 选项将启用。若松开 shift 键,则由 vim 处理该选择。
  2. .vimrc 中设置 set mouse=(即清空),此时 vim 不再干涉鼠标选择,始终将处理权交给 X。这种情况下,鼠标处于无模式编辑状态,也可使用鼠标切换 vim 中的 tab 窗口,且 vim 中的编辑光标不会跟随鼠标。

参考链接

  • Linux 入门:vim 鼠标不能右键粘贴、跨系统复制粘贴_vim 中当鼠标右键功能无法使用时,如何开启 - CSDN 博客
    -https://blog.csdn.net/foryouslgme/article/details/52688285

  • Vim 配置#Vim 中使用鼠标功能_zsh vim 鼠标插入模式 - CSDN 博客
    https://blog.csdn.net/qq_27968607/article/details/54966912

  • 解决配置 vim 之后不能鼠标右键复制问题_vim 里的鼠标右键 - CSDN 博客
    https://blog.csdn.net/weixin_51622761/article/details/124895911

  • Vim 鼠标配置详解 - CSDN 博客
    https://blog.csdn.net/victoryckl/article/details/8122012

  • Vim 全局配置 / 设置鼠标模式 - BrandonPei - 博客园
    https://www.cnblogs.com/BrandonPei/p/17873231.html

  • vim 设置 mouse 行为不生效 - 简书
    https://www.jianshu.com/p/29744bae5f3d

  • vim 鼠标右键无法复制_jeensung_新浪博客
    http://blog.sina.com.cn/s/blog_622d95080100ny94.html

相关文章:

Linux | Vim 鼠标不能右键粘贴、跨系统复制粘贴

注&#xff1a;本文为 “ Vim 中鼠标右键粘贴、跨系统复制粘贴问题解决方案” 相关文章合辑。 未整理去重。 Linux 入门&#xff1a;vim 鼠标不能右键粘贴、跨系统复制粘贴 foryouslgme 发布时间 2016 - 09 - 28 10:24:16 Vim 基础 命令模式&#xff08;command - mode&…...

无人机遥控器扩频技术解析!

一、扩频技术基本原理 扩频技术&#xff08;Spread Spectrum, SS&#xff09;通过将信号的频谱扩展至远大于原始带宽进行传输&#xff0c;提升抗干扰性、隐蔽性和多用户能力。其核心原理包括&#xff1a; 直接序列扩频&#xff08;DSSS&#xff09; 利用高速伪随机码&#x…...

Spring Boot API 项目中 HAProxy 与 Nginx 的选择与实践

在开发 Spring Boot 构建的 RESTful API 项目时&#xff0c;负载均衡和反向代理是提升性能与可用性的关键环节。HAProxy 和 Nginx 作为两种流行的工具&#xff0c;经常被用于流量分发&#xff0c;但它们各有侧重。究竟哪一个更适合你的 Spring Boot API 项目&#xff1f;本文将…...

OpenBMC:BmcWeb构造connect对象

OpenBMC:BmcWeb server.run-CSDN博客 server在接收了tcp连接请求后,会构造一个ConnectionType对象,然后通过post调度,运行该对象的start函数 1.ConnectionType类型 其实也就是using ConnectionType = Connection<Adaptor, Handler>;类型 由于ConnectionType实例化于…...

ORB-SLAM2源码学习(六):相机跟踪(局部地图跟踪和关键帧创建)

目录 1.局部地图跟踪 1.1 更新局部关键帧UpdateLocalKeyFrames 1.2 更新局部地图点&#xff08;来自局部关键帧&#xff09;UpdateLocalPoints() 1.3 投影匹配 2. 对比四种跟踪方式以及使用的投影匹配 3.关键帧创建 3.1 判断是否需要创建新关键帧: NeedNewKeyFrame() 3…...

WordPress使用(3)

前面文章讲述了如何利用docker进行wordpress系统的安装及相关设置&#xff0c;本文将介绍如何进行站点数据和数据库数据的备份。 1. 备份数据库 # 进入mysql容器内部 docker exec -it mysqlwp bash# 使用mysqldump 命令导出数据库 mysqldump -u root -p wordpress > wordp…...

Docker基础篇——什么是Docker与Docker的仓库、镜像、容器三大概念

大家好我是木木&#xff0c;在当今快速发展的云计算与云原生时代&#xff0c;容器化技术蓬勃兴起&#xff0c;Docker 作为实现容器化的主流工具之一&#xff0c;为开发者和运维人员带来了极大的便捷 。下面我们一起了解下什么是Docker与与Docker的仓库、镜像、容器三大概念。 …...

Gitlab配置personal access token

1.点击左上角个人账号 -> Preferences 2. 点击左边栏 Access Tokens 3. 点击Add new token &#xff0c;输入token名称&#xff0c;勾选权限&#xff08;注意截至日期 “Expiration date” 可不填&#xff09; 4. 创建成功后&#xff0c;显示token信息&#xff0c;复制到本地…...

使用STM32CubeMX实现LED灯每秒闪烁一次(STM32G070CBT6单片机)

1.打开STM32CubeMX&#xff0c;点击File->New Project&#xff0c;新建一个新工程。 2.搜索芯片型号&#xff0c;选择正确的芯片封装规格&#xff0c;准备对芯片的引脚进行配置。 进行上面的操作后&#xff0c;跳转到如下的页面。 3.选择要配置的引脚进行配置。此处我的LED是…...

django中路由配置规则的详细说明

在 Django 中,路由配置是将 URL 映射到视图函数或类视图的关键步骤,它决定了用户请求的 URL 会触发哪个视图进行处理。以下将详细介绍 Django 中路由配置的规则、高级使用方法以及多个应用配置的规则。 基本路由配置规则 1. 项目级路由配置 在 Django 项目中,根路由配置文…...

游戏引擎学习第138天

仓库:https://gitee.com/mrxiao_com/2d_game_3 资产&#xff1a;game_hero_test_assets_003.zip 发布 我们的目标是展示游戏运行时的完整过程&#xff0c;从像素渲染到不使用GPU的方式&#xff0c;我们自己编写了渲染器并完成了所有的工作。今天我们开始了一些新的内容&#…...

测试理论快速入门

软件测试的目的是什么 查出缺陷 查找程序的错误&#xff1a;测试功能是否可用&#xff0c;添加的功能是否成功添加实现 发现性能问题&#xff1a;查看响应速度是否在可接受范围内 找出兼容性问题&#xff1a;这个功能是否在多端都能成功使用&#xff0c;例如pc端和mo端 确保交…...

【PostgreSQL】如何免密使用PostgreSQL数据库内置工具

如何免密使用PostgreSQL数据库内置工具 方法 1&#xff1a;使用 .pgpass 文件自动输入密码步骤&#xff1a; 方法 2&#xff1a;使用环境变量 PGPASSWORD步骤&#xff1a; 我们在PostgreSQL数据库自带的各种工具时&#xff0c;每次使用都要输入数据库密码。比如在使用pg_dump 备…...

模块15.常用API

文章目录 模块15.常用API第一章.Math类1.Math类介绍2.Math类方法 第二章.BigInteger1.BigInteger介绍2.BigInteger使用 第三章.BigDecimal类1.BigDecimal介绍2.BigDecimal使用3.BigDecimal除法过时方法解决 第四章.Date日期类1.Date类的介绍2.Date类的使用3.Date类的常用方法 第…...

5c/c++内存管理

1. C/C内存分布 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)malloc(sizeof(int) * 4);i…...

python实现的可爱卸载动画

在逛掘金时&#xff0c;掘金用户在B站看到的灵感进行的一个卸载窗口的动画效果的实用案例。人类是一种不断在学习的动物&#xff0c;并且是一种模仿能力学习能里比较强的动物。我这里是第三波的学习实践者咯&#xff01; 相对VUE构建动画效果窗口&#xff0c;我更加喜欢用pytho…...

微服务的春天:基于Spring Boot的架构设计与实践

微服务的春天:基于Spring Boot的架构设计与实践 在如今的技术领域,微服务架构俨然成为了解决复杂系统开发与运维挑战的关键利器。作为一名资深运维和自媒体创作者,笔名Echo_Wish,我将深入探讨基于Spring Boot的微服务架构设计,结合实例代码说明观点,希望能为大家带来启发…...

*VulnHub-FristiLeaks:1.3暴力解法、细节解法,主打软硬都吃,隧道搭建、寻找exp、提权、只要你想没有做不到的姿势

*VulnHub-FristiLeaks:1.3暴力解法、细节解法&#xff0c;主打软硬都吃&#xff0c;隧道搭建、寻找exp、提权、只要你想没有做不到的姿势 一、信息收集 1、扫靶机ip 经典第一步&#xff0c;扫一下靶机ip arp-scan -l 扫描同网段 nmap -sP 192.168.122.0/242、指纹扫描、端口…...

OpenCV 颜色空间:原理与操作指南

颜色空间原理 RGB 颜色空间 RGB&#xff08;Red, Green, Blue&#xff09;是最常见的颜色空间&#xff0c;它通过红、绿、蓝三种颜色通道的不同强度组合来表示颜色。在 OpenCV 中&#xff0c;RGB 图像的每个像素由三个 8 位无符号整数&#xff08;0 - 255&#xff09;分别表示…...

国产编辑器EverEdit - 超多样式设置

1 设置-编辑-样式 1.1 设置说明 1.1.1 折叠样式 默认为箭头&#xff0c;折叠样式选项如下&#xff1a; 箭头&#xff1a; 矩形和线条 五边形 圆形图标 1.1.2 光标样式 光标用于指示当前用户输入位置&#xff0c;光标样式选项如下&#xff1a; 默认 纤细 字宽 …...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...