视图 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/overmind19…)
[Gitee 地址] (overmind1980/oeasyvim)
[蓝桥实验楼 邀请码 FJWYIMGB] (oeasy 教您零根底玩转编辑神器 Vim_Linux – 蓝桥云课)