oeasy教您玩转vim - 71 - # 视图view
视图view
回忆上次折叠的细节
折叠方式很多
- 我们一般就用默认的就行
indent很好用- 前提是缩进语法严格到位
- 这样语法和排版都能同时确保
打开关闭
zc、zo是打开关闭当前行zm、zr可以改变foldlevel
配合
{range}:{range}foldopen!可以在范围内打开行:{range}foldclose!可以在范围内关闭行
- 但是这个折叠
- 一关闭vim就没了
- 这个折叠状态可以保存住么?
mkview 创造视图
mkview可以创造一个视图- make a view

- 这个视图存储在
viewdir - 我们可以查看这个
option的位置 :set viewdir?- 位置在
$VIM/vimfiles/view下面 - 我们具体去看一下
viewdir
:!ls $VIM/vimfiles/view- 貌似现在还没有这个文件夹

- 原因应该是还没有
:mkview - 我们退出帮助
- 回到
oeasy.java来mkview

- 无法写入?
强制创建文件夹
:!mkdir -p ~/.vim/view/mkdir -p是建立相应的文件夹

用户文件夹和系统文件夹
~/.vim/是当前用户对应的vim配置文件夹/usr/share/vim/vim81是系统共享vim配置文件夹- 然后
:mkview
创建结果
- 成功了

这个东西存在哪里呢?
:!ls ~/.vim/view/- 找到了这样一个文件

view的内容
我们来看看这个里面有啥
:!ls ~/.vim/view/
首先我们可以确定文件名
:!vi ~/.vim/view/+tab

这是一个
vim文件- 就像
~/.vimrc一样 ~/.vimrc是当前用户的vim配置- 这个
~/.vim/view/XXX.vim是当前窗口make的view - 保存了当前窗口的一些
option
- 就像
载入的时候会加载
local的option到当前window- 用的命令是
:setlocal ...=... - 所以只对当前
window窗口有用 - 相对
:set ...对所有窗口有用
- 用的命令是
- 其实我主要关心的是折叠信息的保存还有光标位置的情况
保存状态
- 我们重新回到oeasy.java
- 把光标位置设置在
8,20

- 然后
:mkview 进行一些简单的折叠
:set foldcolumn=4:set foldmethod=indent- zC
- 再
gg

装载状态视图
- 然后
:loadview 发现一切都回来了!!!
- 光标位置和折叠信息都在
- 我觉得这还是挺实用的

具体存储的信息
- 我们可以看到
- 除了
localoption之外 - 折叠和位置的信息也可以保留到
view中

如果我关闭了再打开
oeasy.java- 还能
loadview么?
- 还能
- 试试
加载视图
重新打开
oeasy.java:loadview- 加载视图成功
- 这样就能回到上次编辑的位置了
- 但是我能够定义多个编辑位置么?
- 这样我就可以像切地图位置一样切换光标位置了?
多个视图view

找一个位置比如
(8,20)- 坐标可以在
statusline里面的ruler中找到 - 定义一个
view :mkview
- 坐标可以在
再找一个位置(1,1)
:mkview 1
恢复到第一个位置
:loadview
恢复到第二个位置
:loadview 1
总共九个数字可以给你用
- 还可以自定义view的名字
- 可以说是很方便了
- 随意传送
其实这个用
ma也能做到- 视图view里面是不只是可以保存光标位置
- 一个view里面到底保存了什么?
view内容

- 打开的文件列表(参数),也就是
:args,包括索引顺序 - 当前文件
当前窗口的本地属性
- 缩写(
abbreviations) - 映射(
mappings)
- 缩写(
- 折叠(
fold) - 为什么可以保存这么多东西呢?
view选项

:h viewoptions可以看到view保存内容的选项- 可以选择保存什么不保存什么
- 内容是一个列表
:set viewoptions?- 目前是默认的
:set viewoptions=folds,options,cursor,curdir
curdir指的是当前路径- 在使用
:view .的时候可以明确相对路径 view保存了好多配置信息- 但是不会影响到最终编辑的文档
- 是蓝布棉门帘
- 在使用
总结
- 这次了解到了
:mkview、:loadview - 保存和加载视图
- 可保存内容的选项在
viewoption中 还可以保存多个视图
- 在整个文档中跳来跳去
视图里面可以有很多本地窗口的设置
- 折叠
- 缩写
- 映射
- 那么到底什么是缩写(
abbreviations)和映射(mappings)呢? - 下次再说!
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (overmind1980/oeasyvim)
[蓝桥实验楼 邀请码FJWYIMGB] (oeasy 教您零基础玩转编辑神器 Vim_Linux - 蓝桥云课)
oeasy教您玩转vim - 71 - # 视图view的更多相关文章
- 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内容回顾
我们来回顾一下 我们都讲了什么?
随机推荐
- MFC之多字节和宽字节的总结
ANSI字符集 所支持的就是多字节的也叫窄字节,类型来说就对应char类型.Unicode字符集 也叫宽字符集 所支持的就是宽字符集,从类型上来说就是 wchar_t类型.gb2312是中国的编码, ...
- Ceph配置与认证授权
目录 Ceph配置与认证授权 1. 为什么现在不采用修改配置文件的方式了呢? 2. Ceph元变量 3. 使用命令行修改配置 3.1 全部修改(使用服务名) 3.2 部分修改(修改进程) 3.3 临时 ...
- Android 12(S) ALooper AHandler AMessage(一)
卧榻之侧岂容他人酣睡,到现在ALooper AHandler AMessage的工作原理一直都没搞懂,很慌!看他们的路径都在libstagefright/foundation下,作为一个foundat ...
- mysql存储地理信息的方法
MySQL 存储地理信息通常使用 GEOMETRY 数据类型或其子类型(如 POINT, LINESTRING, POLYGON 等).为了支持这些数据类型,MySQL 提供了 SPATIAL 索引, ...
- CSP-S2019 题解
做了这套题,如果是让现在的我当时去考的话应该一共可以有 450 分,格雷码,括号树,树的重心都可以做,树上的数可以有 10 分,Emiya 至少可以有 76 分, 划分也可以有 64 分.看 OIer ...
- ARC169
A 我们定义 \(dp_{dep}\) 为第 \(dep\) 层会对上一层产生多少的影响. 如果有一层的影响大于 \(0\),在足够次计算后那么肯定是正号.如果小于零那就一定是负号. 由于越久影响到的 ...
- 实战 k8s----初识
什么是k8s?k8s是谷歌开源的一套完整的容器管理平台,方便我们直接管理容器应用.谷歌称之为,kubernetes,[kubə'netis] ,(跟我一起读库波尔耐题思,重音在耐的音上),由于字母太多 ...
- 网站_域名_DNS_端口_web访问过程
网站基本概念 服务器:能够提供服务器的机器,取决于机器上所安装的服务软件 web服务器:提供web服务(网站访问),需要安装web服务软件,Apache,tomcat,iis等 域名 (Domain ...
- aspose word模板文件生成pdf
# aspose word模板文件生成pdf package com.example.core.mydemo; import com.alibaba.fastjson.JSON; import com ...
- python webdriver.remote远程创建火狐浏览器会话报错,Unable to create new service: GeckoDriverService
问题: 使用selenium.webdriver.remote,远程指定地址的浏览器,并创建会话对象:创建火狐浏览器会话时,报错,错误信息如下: Message: Unable to create n ...