我觉得比较有用的是匹配括号的折叠, 移动到一个花括号{上, 用zfa}, 就可以将下面的匹配的花括号之间的内容折起来, 这样可以很方便的折起函数。 其他的折叠方法还有zf/string, 可以折叠到下一个匹配的string, 不过好像不太实用。
使用折叠:
移动的时候在前面加一个z就可以在折叠的地方移动, 比如zj,就会跳到下一个折叠, zk就是上一个。 要打开的话可以zo,o是open的意思, zO打开所有的折叠。 关上用zc, c是close。 在zO之后用zc会关上所有打开的折叠。 折叠可以嵌套, zr可以打开第一层的折叠,zR可以打开所有层的折叠, 与之对应的是zm和zM, 是按层关上折叠。 比如说按zm, 会从最里层的层叠关起, 连续zm就会一直关到最上层的折叠。
查找到了折叠里面会将折叠打开, 处理完了之后要自己将折叠关上。
折叠选项:
可以让vim根据语法, 缩进,标记自动折叠。 用set foldmethod = foldoption.(这个自己还没有试过)
保留折叠
:
要下一次打开的时候还保留折叠可以在离开的时候:mkview,进来的时候:loadview就可以了。 当然也可以将这两句加到vimrc里面让其自动完成。
au BufWinLeave * mkview
au BufWinEnter * silent loadview
这样每次就可以看到上次的折叠了。