VIM代码折叠

来源:互联网 发布:汇编语言 多维数组 编辑:程序博客网 时间:2024/05/18 03:23

创建和删除折叠

zf 创建折叠,仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。例如:
        zf56G,创建从当前行起到56行的代码折叠;
        10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。
        10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。
        在括号处zf%,创建从当前行起到对应的匹配的括号上去((),{},[],<>等)。
zd  删除 (delete) 在光标下的折叠。仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
zD  循环删除 (Delete) 光标下的折叠,即嵌套删除折叠。仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。
zE  除去 (Eliminate) 窗口里“所有”的折叠。仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。

打开和关闭折叠

zo  打开 (open) 在光标下的折叠。
zO  循环打开 (Open) 光标下的折叠。
zc  关闭 (close) 在光标下的折叠。
zC  循环关闭 (Close) 在光标下的所有折叠。

在折叠间移动

[z  到当前打开的折叠的开始。
]z  到当前打开的折叠的结束。
zj  向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk  向上移动到前一折叠的结束处。关闭的折叠也被计入。

自动保存和恢复折叠

Problem: 你打开了一个文件,做了很多折叠然后关闭文件,再次打开之后这些折叠信息都不见了
Himt: 当你退出文件编辑时,手工折叠会被遗弃。要保存折叠,使用 |:mkview| 命令。之后要恢复可以使用 |:loadview|。
Solution:
mkdir ~/.vim/view

vim ~/.vimrc

将如下内容复制到.vimrc最上方。

set viewdir=~/.vim/view
au BufWinLeave * silent mkview
au BufWinEnter * silent loadview
0 0
原创粉丝点击