zoukankan      html  css  js  c++  java
  • vim的个性化配置- 再谈vim的折叠和展开 -- 彻底掌握vim 的展开和折叠!

    http://www.wklken.me/posts/2016/02/03/some-vim-configs.html

    一般把 设置成 逗号, 是比较好的, 因为逗号比默认的leader 要方便键入!

    有必要使用vim中的折叠! 因为很多时候只需要关注当前的代码, 其他代码的展开会严重 影响当前代码的查看和滚动, 所以折叠是很重要, 很实际的操作需求. 只有你经常被某个东西 所折磨的时候 你才会发现它的解决方案有多重要! 例如:折叠!!

    彻底掌握vim 的展开和折叠!

    1. vim的折叠必要性! 非常必要, 在简化页面, 关注目标代码的时候非常有用!

    2. vim折叠的方式, 有几种: manual, indent , marker,...最常用的就是前面这三种! 每一种不同的折叠方式中的 折叠效果是不同的! 所以要根据你的语言来进行 选择折叠方式

    3. 通常对于web前端的开发, 主要是层级 标签的缩进显示, 所以对于html, php等语言页面, 主要使用 indent的方式进行折叠! 而对于像thinkphp等 后端主要进行代码的时候, 主要是对函数 类 等进行操作, 这时, 选择 marker 方式进行折叠! 这里的marker 系统默认的就是 大括号{}, 所以使用marker就很适合

    4. vim的默认 折叠方式 是manual! 所以你要 在 (.)vimrc中, 进行设置: set fdm=indent. 但是注意, 如果设置了非manual的折叠方式时, 如indent, 则手动方式的折叠方式将失效.

    5. 要恢复vim默认的 手动折叠方式, 使用命令: set fdm& (这个&表示去掉配置的 "按位与", 即恢复为默认设置!)

    6. 要折叠时, 首先要创建 折叠: 使用命令: zm, 或zM , 然后后面的所有对 折叠的 操作才会生效!

    7. 主要有这样一些命令操作: zm/zM, zM表示关闭有递归/嵌套的折叠! zr /zR(跟zi的功能类似!) , 表示打开..... 而zi则是在 关闭/打开"所有"所有, 包括有嵌套的折叠在内 折叠之间进行转换. 而zo 和zc 只是在当前元素的 直接子元素 的展开/折叠.

    8. 设置可视化的 折叠标志: set foldcolumn =4, 或 8. 则会出现 加号或减 号和竖线等符号, 可以使用鼠标进行可视化的 折叠和展开! 要去掉 折叠标识栏: 使用命令: set foldcolumn&

    9. 折叠的含义: 就是只有当前元素 具有 "子元素" 具有层次关系的时候, 才可以折叠, 折叠的时候, 只有 "子元素" 会被 折叠~ 而父元素 是不会被折叠的, 折叠的时候, 显示的是: +--- 折叠的行数 +折叠开始处的内容: ....


    关于折叠的跳转

    1. [z, ]z命令, 是在一个打开的折叠 的开始处和 结尾处 两者来回 跳转. (注意是, 同一个折叠内)
    2. 而zj, zk 则是如果 现在有多个 折叠, 则在这些 "多个" 折叠之间 进行移动!

    折叠, 到底是折叠的哪些内容?

    当然是折叠当前行所在的内容. 如果当前行同级的有多个, 则都会被折叠. 如果当前行 是包含子内容的标签, 则整个标签都会被 折叠.
    折叠时, 当前行/及其子内容, 都将被折叠隐藏 , 显示为绿色和 虚线的样式.

  • 相关阅读:
    jQuery 源码解析(二十四) DOM操作模块 包裹元素 详解
    jQuery 源码解析(二十三) DOM操作模块 替换元素 详解
    jQuery 源码解析(二十二) DOM操作模块 复制元素 详解
    jQuery 源码分析(二十一) DOM操作模块 删除元素 详解
    jQuery 源码分析(二十) DOM操作模块 插入元素 详解
    jQuery 源码分析(十九) DOM遍历模块详解
    python 简单工厂模式
    python 爬虫-协程 采集博客园
    vue 自定义image组件
    微信小程序 image组件坑
  • 原文地址:https://www.cnblogs.com/bkylee/p/6391969.html
Copyright © 2011-2022 走看看