ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vim 折叠相关

2021-11-09 09:03:10  阅读:169  来源: 互联网

标签:indent 方式 foldmethod 折叠 manual vim marker 相关


1. 折叠方式
   可用选项 'foldmethod' 来设定折叠方式:set fdm=***** 。
   有 6 种方法来选定折叠:
          manual           手工定义折叠
          indent             更多的缩进表示更高级别的折叠
          expr                用表达式来定义折叠
          syntax             用语法高亮来定义折叠
          diff                  对没有更改的文本进行折叠
          marker            对文中的标志折叠
   注意,每一种折叠方式不兼容,如不能即用expr又用marker方式,我主要轮流使用indent和marker方式进行折叠。

   使用时,用:set fdm=marker 命令来设置成marker折叠方式(fdm是foldmethod的缩写)。
   要使每次打开vim时折叠都生效,则在.vimrc文件中添加设置,如添加:set fdm=syntax,就像添加其它的初始化设置一样。

2. 折叠命令
    选取了折叠方式后,我们就可以对某些代码实施我们需要的折叠了,由于我使用indent和marker稍微多一些,故以它们的使用为例:
    如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
    在可折叠处(大括号中间):
    zc      折叠
    zC     对所在范围内所有嵌套的折叠点进行折叠
    zo      展开折叠
    zO     对所在范围内所有嵌套的折叠点展开
    [z       到当前打开的折叠的开始处。
    ]z       到当前打开的折叠的末尾处。
    zj       向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
    zk      向上移动到前一折叠的结束处。关闭的折叠也被计入。

    当使用marker方式时,需要用标计来标识代码的折叠,系统默认是{{{和}}},最好不要改动之:)
    我们可以使用下面的命令来创建和删除折叠:
    zf      创建折叠,比如在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" 时有效。

标签:indent,方式,foldmethod,折叠,manual,vim,marker,相关
来源: https://www.cnblogs.com/yyybill/p/15527197.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有