vim 之 折叠


在看了下面文章后: http://man.chinaunix.net/newsoft/vi/doc/usr_28.html#usr_28.txt


自己总结了一些给自己看的:


(一)首先设置 foldmethod 选项为下面中的某一个:

        manual          手工定义折叠:   zf
        indent          更多的缩进表示更高级别的折叠
        expr            用表达式来定义折叠
        syntax          用语法加亮来定义折叠
        diff            对没有更改的文本进行折叠;   例子:  :set diffopt=filler,context:8

        marker          对文中的标志折叠;    例子: 


(二)对已经创建(自动或者手动均可),  然后可以用这些命令来操作:


假定你已经创建了若干折叠,而现在需要阅览全部文本。你可以移到每个折叠处,并键 入 "zo"。
 
若要做得更快,可以用这个命令:                          zr     这将减少 (R-educe) 折叠。
相反的操作是:						 zm      z more


对 Ex 命令的执行范围总是从折叠的第一行到折叠的最后一行。所以,命令:
        :s/foo/bar/g
当光标在关闭的折叠上时,它将在整个折叠里用 "bar" 替换 "foo" 。
对 |:folddoopen| 和 |:folddoclosed| 不会产生这种情况。


对 折 叠 执 行 命令 

:[range]foldd[oopen] {cmd}        
                对所有不在关闭的折叠中的行执行 {cmd}。
                给定 [range] 时,仅对范围内那些行起作用。
                每次命令被执行时,光标会被定位在要被操作的行上。
                就如 ":global" 命令:首先标记出所有不在关闭的折叠中的行。然后
                对所有标记过的行,执行 {cmd}。所以当 {cmd} 改变了文本的折叠时
                ,对命令执行的位置没有影响(当然,删除行例外)。
                如:
                        :folddoopen   s/end/loop_end/ge
               使用标志 "e" 要避免当 "end" 不匹配时得到错误消息。

:[range]folddoc[losed] {cmd}                 
                对所有在关闭的折叠里的行,执行 {cmd}


  这里之前列出的折叠命令并不会新建/删除 折叠对象。 都是对已有的折叠对象执行操作。 下面4个命令则是 新建/删除 折叠对象的:
zf{motion}{Visual}zf      创建折叠操作符
                仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。  用 "manual" 方式,新建的折叠会被关闭。 

zd              删除 (delete) 在光标下的折叠。当光标在被折叠的行上,该折叠被删除。嵌套的折叠上移一级。
		在可视模式下(基本上)所有在所选区域的折叠都被删除。注意:这种一次删除多个折叠的简单方法不可恢复。
                仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。

                                                       
zD              循环删除 (Delete) 光标下的折叠。在可视模式下(基本上)所有在所选区域的折叠和嵌套的折叠都被删除。
                仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。

                                         
zE              除去 (Eliminate) 所有在窗口里的折叠。
                仅当 'foldmethod' 设为 "manual" 或 "marker" 时有效。


    注意: 不管怎么删除,都不会删除折叠的文本,只是删除‘折叠对象’。


(三) 折叠间移动:      zj   zk            [z      ]z



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值