oeasy教您玩转vim - 77 - # 保留环境viminfo
保留环境viminfo
回忆组合键映射的细节
上次我们定义了
session:mks
还可以加载会话
session:source Session.vimvim -S Session.vim
- 基本上确立
:mksession可以替代:mkview - 谁知又出来一个
viminfo?! - 上面这哥俩儿都成了有益补充?
- 什么情况?
直奔主题
:h viminfo

好家伙,里面东西着实不少
- 命令行历史
- 搜索历史
- 输入历史
- 非空寄存器
- 标记
- 跨文件标记
- 搜索和替换的模式
这些都是
:mksession保存不了的- 工作区存的是工作环境的状态
viminfo存的是提高效率的一些东西- 跨文件跳转标记
- 命令行历史
- 搜索历史
好不容易建立的
- 跳转标记
- 命令历史
- 睡一觉就没了?不合理!
- 说了这么半天
viminfo怎么读写呢?
读写viminfo

写
viminfo:wv写默认viminfo
读
viminfo:rv写默认viminfo
这一读一写还是挺方便的
- 我们写一个试试
- 没报错
:e ~/.viminfo
viminfo内容

398行
- 上来是软件版本和编码格式
- 然后就是命令行历史记录
- 这样就能用了么?
- 退出去
vi:rv- :️
- 好像真的可以用以前的命令了
- 可以指定写到具体文件么?
指定viminfo文件
:wv ~/oeasy/oeasy.vim- 这样就可以把viminfo保存到具体的目录底下了
如果
~/oeasy/oeasy.vim已经有了:wv! ~/oeasy/oeasy.vim!强制写入
:rv ~/oeasy/oeasy.vim- 也可以从指定的目录恢复viminfo
- 不过要注意安全性的问题
- 一般来说这个里面有很多关于链接、密码、数据库表结构等信息
- 会看的人可以找到蛛丝马迹
- 带来安全隐患
- 千万不能把它存在工程文件里
- 然后直接push到github
- 那就危了
- 不过我敲的命令行那么多
- 他记得过来么?
viminfo文件的容量设置

:set viminfo='50,<1000,s100,:0,n~/vim/viminfo'50保留marker标记的文件数:50<1000寄存器register行数:1000s100超过100Kbyte的寄存器中的文本会被忽略:0命令行的历史记录数:0no /搜索历史记录数:0no %不记录buffers:0no h不记录高亮hlsearch为0
多人共用viminfo

- 如果有一个viminfo是公用的
- 下面A、B写的是同一个
.viminfo文件 下面的事情按顺序发生
- A读取了原始的数据,读取了START公有变量
- B做了同样的事
- A设置了AAA和BOTH变量
- B设置了BBB和BOTH变量
结果在viminfo中
- START是开始就有的,没有改变
- AAA 是 A写的 ,B保留了他
- BBB 是B 写的
- BOTH是B写的,A写的值被丢弃
这总有点偷窥的感觉?
- 一般寄存器里放什么还是有点隐私的
- 别互相之间搅和了
- 设置好你的viminfo文件的读权限
- 别走光了
映射map
原来的映射
:map <F2> :wa<Bar>exe "mksession! " . v:this_session<CR>:map <F3> :so ~/oeasy/oeasy.vim<CR>
新的映射
:map <F2> :wa<Bar>exe "mksession! " . v:this_session<CR>:wv ~/oeasy/oeasyviminfo.vim<CR>:map <F3> :so ~/oeasy/oeasy.vim<CR>:so ~/oeasy/oeasyviminfo.vim<CR>
这个
viminfo就在你的工程文件夹oeasy里面- 如果git分享的话,一定设置gitignore
- 拷贝出来的之前,记得要删除
总结
- 这次我们了解了viminfo
他能够保存
- 命令行历史
- 标记
- 寄存器
- 把他和
:mksession一起使用就可以完美复原环境了 - 还有什么是和环境相关的东西呢?
- 下次再说!
[Github地址] (GitHub - overmind1980/oeasyvim: 这是oeasy制作的的一套关于vim的教程 可以在 https://www.lanqiao.cn/teacher/courses/2840 做实验 邀请码FJWYIMGB 本教程从0基础开始,到精通vim配置,和高级命令。希望能让vim是你的开发更高效。)
[Gitee地址] (overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 vim_Linux - 蓝桥云课)
oeasy教您玩转vim - 77 - # 保留环境viminfo的更多相关文章
- oeasy教您玩转vim - 56 - # 字符可视化模式
可视化编辑 回忆上节课内容 我们学习了关于模式匹配中使用参数 单个参数 :%s/<h2>\(.*\)</h2>/ - \1/g 多个参数 :%s/<img src=\ ...
- oeasy教您玩转vim - 57 - # 行可视化
可视化编辑 回忆上节课内容 上次我们了解到可视模式 其实可视化对应三种子模式 字符可视模式 v 行可视模式 大写V 块可视模式ctrl+v 我们先来了解字符可视化模式 快捷键 v 可配合各种mot ...
- oeasy教您玩转vim - 53 - # 批量替换
查找细节 回忆上节课内容 我们温习了关于搜索的相关内容 /正向,?反向 n保持方向,N改变方向 可以设置 是否忽略大写小写 是否从头开始查找 是否高亮显示 还有一些正则表达式的使用方法 行头行尾 ^$ ...
- oeasy教您玩转linux010203显示logo
我们来回顾一下 上一部分我们都讲了什么?
- oeasy 教您玩转linux010101查看内核uname
linux([?l?n?ks]) 是什么????? 咱们这次讲点什么呢?这次咱们讲讲这个 linux([?l?n?ks]),什么是 linux([?l?n?ks])呢?这linux([?l?n?ks] ...
- oeasy教您玩转linux010202软件包管理apt
顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010201持续输出yes
我们来回顾一下 上一部分我们都讲了什么?
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?
- oeasy教您玩转python - 006 - # hello world
Hello World! 回忆上次内容 python3 的程序是一个 5.3M 的可执行文件 python3 里面全都是 cpu 指令 可以执行的那种指令 我们可以把指令对应的汇编找到 objdu ...
- oeasy教您玩转linux-010110内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- opensips开启lua支持
操作系统 :CentOS 7.6_x64 opensips版本 :2.4.9 lua版本:5.1 今天整理下CentOS7环境下opensips2.4.9的lua模块笔记及使用示例,并提供运行效果截图 ...
- 无需重新学习,使用 Kibana 查询/可视化 SLS 数据
1. 场景 现在通过 SLS 的 ES 兼容能力,可以很方便地实现用 Kibana 来查询和可视化 SLS 的数据.对于从 ES 迁移到 SLS 的用户可以继续保留原来的 Kibana 使用习惯.下面 ...
- 记录一次 对应用程序日志排查,老是刷出有本地ip登录Sqlserver数据库失败的日志
在我电脑-计算机管理-事件查看器-windows日志-应用程序里 1秒中就刷很多条 用户sa登录某个数据库失败,客户端ip:192....; 我查看ip发现是本机的ip地址.也就是说有本地的应用程序在 ...
- cmder右键打开方式
第一步: 新打开一个cmder窗口 第二步: 输入: Cmder.exe /register user 或 Cmder.exe /register all 第三步: 回车执行命令
- AIAGC导航(aiagc.com): 最全的AI工具导航网站
AIAGC导航是一个专注于AI人工智能工具网站推荐的导航网站,可以帮助大家发现最新.最好用.最有趣的AI绘画.AI智能写作助手.AI聊天机器人.AI配音.AI音乐.AI换脸等各种AI工具应用软件,让A ...
- 在 Rainbond 中一键安装高可用 Nacos 集群
描述如何通过云原生应用管理平台 Rainbond 一键安装高可用 Nacos 集群.这种方式适合不太了解 Kubernetes.容器化等复杂技术的用户使用,降低了在 Kubernetes 中部署 Na ...
- harbor 构建企业级镜像仓库
安装harbor 构建企业级镜像仓库 Harbor是由VMware公司开源的镜像仓库,harbor是在docker Registry上进行了企业级扩展,从而获得了更广泛的应用,这些新的企业级特性包括: ...
- 关于DateFormater
一.关于时间的解析 let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ssZ& ...
- vue柱状图
原型 1 <template> 2 <!-- 上下柱状图 --> 3 <div ref="overallSituation" :style=" ...
- babel 基础概念 & 从零到一写一个 babel 插件
babel 基础概念 简单来说,做语法转换兼容的, 复杂一点的说,babel可以将我们写的 ES6+ 的Javascript语法转换为向后兼容的语法,以便能够在旧版本的浏览器或者其他环境运行. bab ...