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"
        endif
    else
        :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 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
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/982864.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用查询,休眠-唤醒方式,POLL方式,异步通知方式,读取输入设备信息

查询方式&#xff1a; APP调用open函数时&#xff0c;传入“O_NONBLOCK”表示非阻塞&#xff0c;就可以以非阻塞方式&#xff0c;也就是查询方式用read函数去读取&#xff0c;如果没有数据的话&#xff0c;就会立刻返回一个错误。 如果我们打开这个文件时没有传入“NONBLOCK”参…

【Java篇】算术如诗,逻辑似梦:Java 编程中的运算符探寻

文章目录 Java 运算符&#xff1a;在计算与逻辑之中追寻编程的哲理1.前言2. 算术运算符2.1 基本四则运算符&#xff1a;加减乘除&#xff08; - * / %&#xff09;2.2 除法与取余2.3 增量运算符&#xff08; --&#xff09;2.4 自增/自减运算符 3. 关系运算符3.1 关系运算符 4.…

Ae 效果详解:VR 转换器

Ae菜单&#xff1a;效果/沉浸式视频/VR 转换器 Immersive Video/VR Converter VR 转换器 VR Converter效果能够在 2D、球面投影、立方图、球形图等格式之间转换&#xff0c;并支持调整摄像机视角&#xff0c;适用于 VR 视频格式适配、画面校正和动画视角调整等&#xff0c;确保…

无显示器安装访问树莓派3B+

一、硬件准备 树莓派3B&#xff0c;适配器&#xff08;供电&#xff09;&#xff0c;读卡器和SD卡 二、软件下载及安装 安装过程都是默认选项&#xff0c;一直点击下一步即可&#xff0c;在选择安装路径时可以改到你自己想装的盘里。 1.树莓派系统镜像 官网地址&#xff1…

Vue3路由组件和一般组件 切换路由时组件挂载和卸载 路由的工作模式

路由组件和一般组件 路由组件 一般放到pages或view目录 一般组件 一般放到component目录 切换路由 切换路由时&#xff0c;组件和执行挂载和卸载 路由的工作模式 Hash模式 缺点 1.不美观&#xff0c;路径带#号 优点 1.兼容性好 一般适用于管理系统 History模式 缺点…

多线程初阶(一)

文章目录 1.线程和进程的区别2.创建线程2.1Thread类2.2Runnable接口2.3匿名类创建Thread子类对象创建后台线程 3.Thread常⻅⽅法4.中断线程4.1中断标记&#xff08;Interrupt Flag&#xff09;4.2调⽤ interrupt() ⽅法 5.线程状态 1.线程和进程的区别 1.进程中包含线程&#…

1.3 Spring Boot原理解析

Spring Boot通过起步依赖&#xff08;如spring-boot-starter-parent和spring-boot-starter-web&#xff09;简化项目配置&#xff0c;减少版本冲突和依赖配置代码量。它采用“约定大于配置”的设计思想&#xff0c;通过SpringBootApplication注解&#xff08;包含SpringBootCon…

⭐算法OJ⭐N-皇后问题 II【回溯剪枝】(C++实现)N-Queens II

⭐算法OJ⭐N-皇后问题【回溯剪枝】&#xff08;C实现&#xff09;N-Queens 问题描述 The n-queens puzzle is the problem of placing n n n queens on an n n n \times n nn chessboard such that no two queens attack each other. Given an integer n, return the num…

第6章 定时器计数器

目录 6.1 定时计数器的结构框图 6.2 定时器的控制字 6.2.1 TMOD&#xff1a;工作方式控制寄存器 6.2.2 定时/计数器控制寄存器TCON 6.3 定时/计数器的4种工作方式 6.3.1 方式0、方式1&#xff08;13位、16位定时计数方式&#xff09; 6.3.2 方式2(常数自动重装入) 6.3.3 方…

JavaWeb基础一(Tomcat、Maven)

前言 web开发 web开发&#xff1a;Web开发是指在万维网或私有网络上创建和维护网站的工作。它包括网页设计、网页编程、数据库管理等多方面的技术。Web开发可以分为前端开发和后端开发&#xff0c;前端主要关注用户界面和用户体验&#xff0c;而后端则处理服务器、应用程序和…

写一写idea中使用tomcat启动activiti过程

一 环境 tomcat 9.0.62 activiti的war包版本 7.1.0.M6 二 操作 官网下载&#xff1a;https://www.activiti.org/get-started 2.1 先在idea中编辑配置 2.2 点击加号然后选择tomcat本地进行确认 2.3 点击部署之后下边小加号 选择第二个之后就是选择自己想要使用tomcat启动的…

基于开源库编写MQTT通讯

目录 1. MQTT是什么&#xff1f;2. 开发交互UI3. 服务器核心代码4. 客户端核心代码5. 消息订阅与发布6. 通讯测试7. MQTT与PLC通讯最后. 核心总结 1. MQTT是什么&#xff1f; MQTT&#xff08;Message Queuing Terlemetry Transport&#xff09;消息队列遥测协议&#xff1b;是…

MAVEN手动配置(阿里云)全教程

介于网上各种各样的MAVEN配置过程中方法大致相同却细节参差不齐&#xff0c;我总结了我遇见的一些问题&#xff0c;来完全的解决MAVEN手动配置的全过程&#xff0c;以及分享解决小毛病的经验。 所需材料&#xff1a; MAVEN3.9.9&#xff08;下载适合自己的版本即可&#xff09…

从0到1入门Linux

一、常用命令 ls 列出目录内容 cd切换目录mkdir创建新目录rm删除文件或目录cp复制文件或目录mv移动或重命名文件和目录cat查看文件内容grep在文件中查找指定字符串ps查看当前进程状态top查看内存kill终止进程df -h查看磁盘空间存储情况iotop -o直接查看比较高的磁盘读写程序up…

pytest结合allure

Allure 一、文档二、指令三、装饰器3.1 allure.step装饰器3.2 allure.description装饰器3.3 allure.title装饰器3.4 allure.link、allure.issue 和 allure.testcase装饰器3.5 allure.epic、allure.feature 和 allure.story装饰器3.6 allure.severity装饰器 一、文档 allure文档…

Dockerfile 深入浅出:从基础到进阶全解析

Dockerfile 深入浅出&#xff1a;从基础到进阶全解析 各位同学&#xff0c;大家好&#xff01;欢迎来到今天的 Dockerfile 课程。Docker 技术在当今的软件开发和部署领域可以说是非常热门&#xff0c;而 Dockerfile 作为构建 Docker 镜像的关键文件&#xff0c;掌握它对于我们…

大模型巅峰对决:DeepSeek vs GPT-4/Claude/PaLM-2 全面对比与核心差异揭秘

文章目录 一、架构设计深度解剖1.1 核心架构对比图谱1.2 动态MoE架构实现架构差异分析表 二、训练策略全面对比2.1 训练数据工程对比2.2 分布式训练代码对比DeepSeek混合并行实现GPT-4 Megatron实现对比 2.3 关键训练参数对比 三、性能表现多维评测3.1 基准测试全景对比3.2 推理…

贪心算法二

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;了解什么是贪心算法&#xff0c;并且掌握贪心算法。 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早安! >…

【Mac】MacOS系统下常用的开发环境配置2025版

早期版本的一个环境搭建参考 1、brew Mac自带终端运行&#xff1a; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" Installation successful!成功后运行三行命令后更新环境&#xff08;xxx是mac的username&a…

【JavaEE】SpringMVC简单练习

目录 一、计算器1.1 接口定义1.2 前端代码1.3 后端代码1.4 运行结果 二、⽤⼾登录2.1 需求2.2 接口定义2.3 前端页面2.4 后端代码2.5 结果 三、留⾔板3.1 需求:3.2 接口3.3 前端代码3.4 后端代码3.5 运行结果 四、图书管理系统4.1 需求4.2 接口定义4.3 后端代码 一、计算器 1.…