oeasy教您玩轉(zhuǎn)vim - 71 - # 視圖view
視圖view
回憶上次折疊的細(xì)節(jié)
折疊方式很多
我們一般就用默認(rèn)的就行
indent
很好用前提是縮進(jìn)語法嚴(yán)格到位
這樣語法和排版都能同時確保
打開關(guān)閉
zc
、zo
是打開關(guān)閉當(dāng)前行zm
、zr
可以改變foldlevel配合
{range}
:{range}foldopen!
可以在范圍內(nèi)打開行:{range}foldclose!
可以在范圍內(nèi)關(guān)閉行但是這個折疊
一關(guān)閉vim就沒了
這個折疊狀態(tài)可以保存住么???
mkview 創(chuàng)造視圖
mkview
可以創(chuàng)造一個視圖make a view

這個視圖存儲在
viewdir
我們可以查看這個
option
的位置:set viewdir?
位置在
$VIM/vimfiles/view
下面我們具體去看一下
viewdir
:!ls $VIM/vimfiles/view
貌似現(xiàn)在還沒有這個文件夾

原因應(yīng)該是還沒有
:mkview
我們退出幫助
回到
oeasy.java
來mkview

無法寫入?
強(qiáng)制創(chuàng)建文件夾
:!mkdir -p ?~/.vim/view/
mkdir -p
是建立相應(yīng)的文件夾

用戶文件夾和系統(tǒng)文件夾
~/.vim/
是 ?當(dāng)前用戶
對應(yīng)的vim配置文件夾/usr/share/vim/vim81
是系統(tǒng)共享
vim配置文件夾然后
:mkview
創(chuàng)建結(jié)果
成功了

這個東西存在哪里呢?
:!ls ~/.vim/view/
找到了這樣一個文件

view的內(nèi)容
我們來看看這個里面有啥
:!ls ~/.vim/view/
首先我們可以確定文件名
:!vi ~/.vim/view/
+tab

這是一個
vim
文件就像
~/.vimrc
一樣~/.vimrc
是當(dāng)前用戶的vim配置
這個
~/.vim/view/XXX.vim
是當(dāng)前窗口make
的view
保存了當(dāng)前窗口的一些
option
載入的時候會加載
local
的option
到當(dāng)前window
用的命令是
:setlocal ...=...
所以只對當(dāng)前
window窗口
有用相對
:set ...
對所有窗口有用其實我主要關(guān)心的是折疊信息的保存還有光標(biāo)位置的情況
保存狀態(tài)
我們重新回到oeasy.java
把光標(biāo)位置設(shè)置在
8,20

然后
:mkview
進(jìn)行一些簡單的折疊
:set foldcolumn=4
:set foldmethod=indent
zC
再
gg

裝載狀態(tài)視圖
然后
:loadview
發(fā)現(xiàn)一切都回來了?。。?/p>
光標(biāo)位置和折疊信息都在??
我覺得這還是挺實用的

具體存儲的信息
我們可以看到
除了
localoption
之外折疊和位置的信息也可以保留到
view
中

如果我關(guān)閉了再打開
oeasy.java
還能
loadview
么?試試
加載視圖
重新打開
oeasy.java
:loadview
加載視圖成功
這樣就能回到上次編輯的位置了
但是我能夠定義多個編輯位置么?
這樣我就可以像切地圖位置一樣切換光標(biāo)位置了?
多個視圖view

找一個位置比如
(8,20)
坐標(biāo)可以在
statusline
里面的ruler
中找到定義一個
view
:mkview
再找一個位置(1,1)
:mkview 1
恢復(fù)到第一個位置
:loadview
恢復(fù)到第二個位置
:loadview 1
總共九個數(shù)字可以給你用
還可以自定義view的名字
可以說是很方便了
隨意傳送
其實這個用
ma
也能做到視圖view里面是不只是可以保存光標(biāo)位置
一個view里面到底保存了什么?
view內(nèi)容

打開的文件列表(參數(shù)),也就是
:args
,包括索引順序當(dāng)前文件
當(dāng)前窗口的本地屬性
縮寫(
abbreviations
)映射(
mappings
)折疊(
fold
)為什么可以保存這么多東西呢?
view選項

:h viewoptions
可以看到view保存內(nèi)容的選項可以選擇保存什么不保存什么
內(nèi)容是一個列表
:set viewoptions?
目前是默認(rèn)的
:set viewoptions=folds,options,cursor,curdir
curdir
指的是當(dāng)前路徑在使用
:view .
的時候可以明確相對路徑view
保存了好多配置信息但是不會影響到最終編輯的文檔
是藍(lán)布棉門簾
總結(jié)
這次了解到了
:mkview
、:loadview
保存和加載視圖
可保存內(nèi)容的選項在
viewoption
中還可以保存多個視圖
在整個文檔中跳來跳去
視圖里面可以有很多本地窗口的設(shè)置
折疊
縮寫
映射
那么到底什么是縮寫(
abbreviations
)和映射(mappings
)呢???下次再說!
[Github地址] (https://github.com/overmind1980/oeasyvim)
[Gitee地址] (overmind1980/oeasyvim)
[藍(lán)橋?qū)嶒灅?邀請碼FJWYIMGB] (oeasy 教您零基礎(chǔ)玩轉(zhuǎn)編輯神器 Vim_Linux - 藍(lán)橋云課)