【发布时间】:2010-10-15 01:08:54
【问题描述】:
一个代码有超过 2000 行的折叠。我在可视模式中选择了一个我想开始写入的块。然而,周围的东西,比如折叠,暗示了我的写作,我不小心倾向于修改它们。目前,我通过在单独的 VIM 中编写块来避免此类错误。这不是一个真正的解决方案,并且打开太多 VIM 会变得很尴尬。 我怎样才能隐藏除折叠块之外的所有内容?
【问题讨论】:
一个代码有超过 2000 行的折叠。我在可视模式中选择了一个我想开始写入的块。然而,周围的东西,比如折叠,暗示了我的写作,我不小心倾向于修改它们。目前,我通过在单独的 VIM 中编写块来避免此类错误。这不是一个真正的解决方案,并且打开太多 VIM 会变得很尴尬。 我怎样才能隐藏除折叠块之外的所有内容?
【问题讨论】:
您可以使用zMzv 或zMzO。
zM 关闭所有折叠,zv 使当前行可见,zO 递归打开光标下的所有折叠直到根。
【讨论】:
不完全符合您的要求,但可能有效...
将此朋友映射到某物:
:vnoremap <Leader>za <Esc>`<kzfgg`>jzfG`<
我把它放在leader => z(因为它必须做折叠)=> a(因为它代表“周围”)
用法:
用 V 选择线,击中前导 z a。
上面和下面的所有东西都将被折叠。
【讨论】:
:nmap <silent><Leader>zs <Esc>zRzz 是展开一切的好方法