新搞的 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= 并不会起效。

参考 https://www.jianshu.com/p/29744bae5f3d 发现鼠标的行为在 vimrc.local 之后加载,所以要么在 /etc/vim/vimrc.local 中加上 let skip_defaults_vim=1,要么在我要用的 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 全局配置 / 设置鼠标模式的更多相关文章

  1. macOS中Vim基本配置,颜色主题/语法/indent设置

    macOS中Vim基本配置 Vim的初始化配置 .vimrc 存放位置 macOS 环境下 vim 的初始化配置文件为 .vimrc , 通常有两个(系统版本和用户版本),一个位于 /usr/shar ...

  2. FastJSON 设置默认参数,全局配置方式 和 一些使用方式、坑

    如果要被序列化的对象含有一个date属性或者多个date属性按照相同的格式序列化日期的话,那我们可以使用下面的语句实现: 在应用的的Main方法体里配置全局参数: JSONObject.DEFFAUL ...

  3. 使用ajax请求接口,跨域后cookie无法设置,全局配置ajax;及使用axios跨域后cookie无法设置,全局配置axios

    问题一: 使用ajax/axios跨域请求接口,后端放行了,能够正常获取数据,但是cookie设置不进去,后端登录session判断失效 ajax解决办法: //设置ajax属性 crossDomai ...

  4. 设置vue全局配置

    全局配置 创建全局配置文件 vue.config.js 添加配置项

  5. Vim 基本配置和经常使用的命令

    vim 优势和应用场景 vim 的优点纯文字编辑和 Linux 完美的融合提供了命令行.只能假设 ssh 至server进行操作,那么这样的情况就仅仅能使用 vim 了.vim 也是最为强大的通用文本 ...

  6. nginx全局配置和性能优化

    nginx目录结构和命令 1.ls /apps/nginx/:         html是测试页,sbin是主程序 2.ls /apps/nginx/sbin/:  nginx 只有一个程序文件 3. ...

  7. [转] vim自定义配置 和 在ubnetu中安装vim

    Ubuntu 12.04安装vim和配置   问题: ubuntu默认没有安装vim,出现: jyg@ubuntu:~$ vim test.cThe program 'vim' can be foun ...

  8. vim 编辑器的设置

    vi编辑器的配置:http://blog.mcuol.com/User/fenghua/Article/17411_1.htm ******************************vim ~/ ...

  9. 小程序基础02:全局配置app.json

    1.配置 我们使用app.json文件来对来微信小程序进行全局配置. 作用:他决定了页面文件的路径,窗口表现,设置网络超时时间,设置多tab等 每一个小程序页面也可以使用 .json 文件来对本页面的 ...

  10. MFC 全局配置 读取保存配置

    不知道关于全局配置别人都是怎么处理的,最近做的东西都用到全局配置,而且要保存软件的设置,下次启动时要使用上次关闭时的配置. 我的做法是建一个类用来保存和读取配置,并且在这个类中创建一些变量,供所有的界 ...

随机推荐

  1. 深入理解Android View(1)

    做android其实也有一段时间了,我们每个人都会碰到一些这样或那样的问题,碰到问题了就拼命百度,可是发现,我们解决问题的能力并没有提升很多,所以我才有想总结一下我项目中所用过的相关知识,并了解一下A ...

  2. spring与设计模式之三代理模式

    部分内容引用: https://blog.csdn.net/shulianghan/article/details/119798155 一.定义 1.1定义 对于现实生活中的代理,大家非常好理解.我们 ...

  3. Android自动化-如何获取视图元素属性?

    在做Android自动化时候,我们需要知道视图有哪些元素,元素都有哪些属性,获取到属性我们才能获取到元素从而做自动化控制,所以做Android自动化获取元素属性是必要的第一步 获取视图元素属性最便捷的 ...

  4. rar终端常用命令

    rar终端常用命令 1. 跳过目录: rar a xxx.rar -x./path_to_dir/ ./xxx/ [注] rar后面的文件夹不需要通配符 2. 加密码 rar a xxx.tar -p ...

  5. Markdown 文章 跳转

    背景 在查阅一些文档的时候,一些比较优秀博客在文章中是带有目录的,点击就会跳转到指定的锚点. 在本人的某些文章中,也想尝试这样的效果. 做法 实现这样的效果有2种做法(不同之处在于 超链接的写法不同) ...

  6. 一文了解Spring Boot启动类SpringApplication

    本文分享自华为云社区<[Spring Boot 源码学习]初识 SpringApplication>,作者: Huazie. 引言 往期的博文,Huazie 围绕 Spring Boot  ...

  7. 张高兴的 MicroPython 入门指南:(二)GPIO 的使用

    目录 什么是 GPIO 使用方法 使用微动开关点亮板载 LED 硬件需求 电路 代码 参考 什么是 GPIO GPIO 是 General Purpose Input Output 的缩写,即&quo ...

  8. oeasy教您玩转vim - 31 - # 文字区块

    ​ 文字区块 回忆上节课内容 上上次讲的翻页 上次先让屏幕位置固定,移动光标 H- Head 移动到屏幕的顶端 M- Middle 移动到屏幕的中间 L- Low 移动到屏幕的底部 然后让光标固定,移 ...

  9. 构建基于Java Spring Boot和Uniapp的心理小程序:从零到一的完整指南

    构建基于Java Spring Boot和Uniapp的心理小程序:从零到一的完整指南 前言 大家好,今天我们来聊聊如何使用Java Spring Boot和Uniapp构建一个心理小程序.这个项目不 ...

  10. 爆破字典:linux 敏感文件-01

    linux 中敏感文件 1.0 /apache/apache/conf/httpd.conf /apache/apache2/conf/httpd.conf /apache/php/php.ini / ...