乐趣区

关于vim:oeasy教您玩转vim-71-视图view

视图 view

回顾上次折叠的细节

  • 折叠形式很多

    • 咱们个别就用默认的就行
    • indent 很好用
    • 前提是缩进语法严格到位
    • 这样语法和排版都能同时确保
  • 关上敞开

    • zczo 是关上敞开以后行
    • zmzr 能够扭转 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.javamkview

  • 无奈写入?

强制创立文件夹

  • :!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
  • 载入的时候会加载 localoption 到以后 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 – 蓝桥云课)

退出移动版