vim的个性化配置- 再谈vim的折叠和展开 -- 彻底掌握vim 的展开和折叠!

时间:2023-02-27 07:36:50

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 则是如果 现在有多个 折叠, 则在这些 "多个" 折叠之间 进行移动!

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

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

vim的个性化配置- 再谈vim的折叠和展开 -- 彻底掌握vim 的展开和折叠!的更多相关文章

  1. vim的个性化配置(方便编程)

    在用户主目录下新建vimrc即可.例如: vim ~/.vimrc 然后复制进去即可.   配置如下: "关闭vim一致性原则 set nocompatible "显示行号 set ...

  2. Linux : Vim 使用与配置 (附 GitHub 自动化配置脚本)

    由于经常使用 vim 编辑配置文件,有时候也会进行使用vim 编写一些脚本和c/c++ 程序,所以配置一个常用的 vim 是很是必要的.这篇博文主要是记录vim使用和配置相关的一些知识点. 关于vim ...

  3. vim安装及个性化配置

    1.安装vim,并且vim命令的别名设置为vi yum install vim -y (如果不能识别vim命令,需要先安装vim) vi /etc/bashrc 或者 vi ~/.bashrc 在最后 ...

  4. vim + ctags + taglist配置和使用

    vim +ctags + taglist ,ctags+cscope 安装配置和使用 内容:VIM下ctags和taglist的安装配置方法:一键安装 ctags和cscope的方法 :vim语法高亮 ...

  5. vim插件和配置

    vim插件和配置 插件 pathogen 可以方便地管理vim插件 在没有pathogen的情况下,vim插件的文件全部都放在.vim目录,卸载插件很麻烦,pathogen可以将不同的插件放在一个单独 ...

  6. Mac 下升级 vim 并自己配置 vim 的过程

    1.升级 vim 我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim -- ...

  7. vim的简单配置

    本文大部分内容转载自:https://blog.csdn.net/lhy2932226314/article/details/69668891 vim是从 vi 发展出来的一个文本编辑器.功能丰富,在 ...

  8. 通过Vim+少量插件配置一个高效简洁的IDE

    最近本人在看<TCP/IP Illustrated Volume2:The Implementation>这本书,自然要下载4.4BSD-Lite的源代码配合书本一起研读.以前学习Vim的 ...

  9. Vim YouCompleteMe 安装配置

    YouCompleteMe是很强大的vim插件,可以提供强大的补齐功能,曾经多次尝试安装,都没有配置成功,最近在一个契机下,看到有同事的配置,自己在边尝试和边咨询后,终于也搞定了,遂记录下. 官网有最 ...

随机推荐

  1. jsrender-for循环中访问父属性

    jsrender中使用for循环数据时有时需要访问父级数据. 而jsrender在循环中的父级数据存放在隐藏属性parent.parent.data中,使用案例如下 {{:#parent.parent ...

  2. 关于inline-block的间隙问题

    很久之前写过一个星星评级的样式,当时开发人员在嵌套代码的时候出现很多问题,同样的一个样式有的页面正常有的页面就出现星星错位的问题,仔细研究了一下代码,发现问题原来出在了inline-block上. 目 ...

  3. Metadata Lock原理6

      一 简介   上一篇文章 <MetaData Lock 之一>  简单的介绍了MySQL 引入MDL 的前因后果,本文深入了解MDL的实现原理和运行机制.二 MDL 的类型  meta ...

  4. MySQL for Excel用法

    MySQL有一款工具“MySQL for Excel”它可以提供将Excel的数据导入MySQL,或者将MySQL的数据导出到Excel的功能.简而言之,使用MySQL for Excel可以通过Ex ...

  5. JDBC——事物管理

    案例:银行转账问题,数据库如下 相关API setAutoCommit(boolean autoCommit)  将此连接的自动提交模式设置为给定状态.设置事务是否自动提交如果设置为false,表示手 ...

  6. 关于jQuery中的attr和data问题

    今天在使用data获取属性并且赋值时遇到一个小问题,写下来防止以后再跳坑. 在使用jQuery获取自定义属性值时,我们习惯用 $(selector).attr('data-value'); jQuer ...

  7. 第一章ASP&period;NETMVC

    一.MVC的概念 MVC由三部分组成:视图(View).模型(Model).控制器(Controller)组成 二.运用VS创建MVC 1.新建一个"解决方案" 2.在" ...

  8. centos7&period;4下离线安装CDH5&period;7

    (一)安装前的规划 (1)操作系统版本:centos7.4(64bit) [root@hadoop22 etc]# more /etc/centos-release CentOS Linux rele ...

  9. openstack搭建之-glance配置(9)

    一. base节点配置 #设置数据库,创建glance数据库,并设置权限 mysql -u root -proot CREATE DATABASE glance; GRANT ALL PRIVILEG ...

  10. &lbrack;ios&rsqb;object-c math&period;h里的数学计算公式介绍

    参考:http://blog.csdn.net/yuhuangc/article/details/7639117 头文件:<math.h> 1. 三角函数  double sin (dou ...