与你分享
互联网的方方面面

彻底解决基于Debian发行系统的vim鼠标模式(可视模式)问题

老王最近在Debian系统中使用vim时,发现点击鼠标可以移动光标,此外不能选中文本进行复制,这点和CentOS是不一样的。在网上搜了搜,发现是Debian特有的一种情况。老王还是比较习惯CentOS那种的,所以这里记录下怎么解决这个问题。

一、概述

问题来源

同时用过基于RedHat发行版系统(如CentOS)和基于Debian发行版系统(如Ubuntu)的人,会发现两者在vim的操作上有着很大不同:

  • 默认情况下,基于Debian发行版系统,在使用vim编辑一个文件,操作鼠标时会显示为可视模式,无法使用鼠标正常操作,这是因为基于Debian发行版的系统启用了vim的鼠标模式的原因。
  • 而基于RedHat发行版系统,则不会出现这种情况,使用vim编辑文件时,也可以正常使用鼠标来操作,例如选中文本后右键等操作。

问题分析

经过我长时间的谷歌查询,并结合Vim官网说明vim - Debian官网以及Running VIM 8 at RHEL - RedHat官网的相关资料,分析得出:

  • 原来是vim默认的配置文件便是开启了鼠标模式的配置。
  • 而基于RedHat发行版的系统则针对vim定制了一套属于自己的默认/etc/vimrc配置文件,该配置文件完全抛弃了Vim默认配置文件,采用了RedHat自己的一套配置。
  • 但基于Debian发行版的系统,则依然采用Vim的官方默认配置文件,并通过/etc/vim/vimrc来调用该配置文件。

处理准备

为了解决问题,我们需要知道以下信息:

  1. :echo $VIMRUNTIME:在vimvim -vvim filename界面下,输入此命令语句可以查询Vim运行路径(配置路径)所在的绝对路径(注意前面有英文冒号),查询出来的路径就是下面所用到的路径。
  2. /usr/share/vim/vim/debian.vim:此文件定义vim软件包的所有选项值,且每次vim升级后,该文件都会被升级后的新文件覆盖。
  3. /usr/share/vim/vim/defaults.vim:如果/home/username/目录下没有.vimrc配置文件的话,那么vim将默认调用加载此配置文件,该文件也是下文永久解决方案所需要修改处理的文件。

二、处理解决

临时解决

用户可以在使用vim时,在编辑界面,直接输入:set mouse=:set mouse=""后,按Enter回车键,即可临时关闭鼠标模式。

永久解决

1、针对当前用户

#将vim官方默认配置文件放到当前用户目录下
wget --no-check-certificate https://raw.githubusercontent.com/vim/vim/master/runtime/vimrc_example.vim -O ~/.vimrc
#如果出现“失败:拒绝连接”的话添加下HOST解析
sudo vim /etc/hosts
#在最下面加上一句:199.232.68.133 raw.githubusercontent.com后再执行:
wget --no-check-certificate https://raw.githubusercontent.com/vim/vim/master/runtime/vimrc_example.vim -O ~/.vimrc
#此时可以为该vim配置文件添加一些常用的配置,如下示例:
echo >> ~/.vimrc

#设置语法高亮
echo 'syntax on' >> ~/.vimrc

#开启行号显示【简写方式】或下面的【标准方式】也可以
echo 'set nu' >> ~/.vimrc
#开启行号显示【标准方式】或上面的【简写方式】也可以
echo 'set number' >> ~/.vimrc

#开启拼写检查
echo 'set spell' >> ~/.vimrc

#重点:关闭鼠标模式
echo 'set mouse=""' >> ~/.vimrc

2、针对全局用户

  1. 首先查询出当前vim的运行路径(配置路径)位置:执行vim,然后输入:echo $VIMRUNTIME
  2. 编辑上一步查询出的路径下的默认配置文件:sudo vim $VIMRUNTIME/defaults.vim
  3. 找到包含if has('mouse')这句,将下面的set mouse=a修改为set mouse="",可能下面还有一句set mouse=nvi,这句可改可不用改【个人建议将原本的内容前面加上"注释掉即可】。
  4. 保存文件完成修改::wq
  5. 无需重启,直接找一个文件编辑测试一下看看:vim ~/.vimrc

参考:

https://blog.51cto.com/u_15083238/2600714

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《彻底解决基于Debian发行系统的vim鼠标模式(可视模式)问题》
文章链接:https://wph.im/149.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。