VIM 代码折叠 :set foldmethod=marker

VIM 代码折叠
VIM代码折叠方式可以用”foldmethod”选项来设置,如: set foldmethod=indent

有6种方式来折叠代码

1. manual //手工定义折叠
2. indent //用缩进表示折叠
3. expr  //用表达式来定义折叠
4. syntax //用语法高亮来定义折叠
5. diff //对没有更改的文本进行折叠
6. marker //用标志折叠

vim 配置文件分为全局配置文件和用户配置文件

1. 全局配置文件查找,在.vim 中输入:echo $VIM,一般为:/usr/share/vim/vimrc
2. 用户配置文件在用户主目录下,如:/home/fukun/.vimrc

在vimrc文件中设置折叠方式:如 :set foldmethod=marker

选定折叠方式后,就可以使用折叠命令进行折叠操作了.常用的折叠方式为indent和marker.
indent是最为傻瓜式的折叠方法,根据缩进来的,只要你的代码保持良好的编写规范,在函数名的那行直接按下 za 就可以进行折叠了。

推荐大家使用:marker折叠命令

因为比较通用,移植很方便。别人看你代码的时候直接就可以理解。
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” 时有效。

常用命令就是 za 、 zf% 和 zd 了。

za是打开/关闭折叠, zf%是对匹配的内容创建折叠,zd是删除折叠。

原文来自:DigDeeply's Blog

时间: 2024-10-06 09:10:58

VIM 代码折叠 :set foldmethod=marker的相关文章

Vim技能修炼教程(11) - 代码折叠

上一讲我们是程序员篇的第一讲,关于代码跳转.代码跳转是一个付出很少收获很大的功能.这一节我们开始一个收获很多,但是付出也相对多一点功能:代码折叠. 代码折叠 折叠的类型 折叠有下面几种类型: Manual: 手动创建折叠.但是退出vim后就一切都没了. Marker: 基于特定的字符组合进行折叠. Expr: 定义正则表达式来处理折叠,这是最终的解决方案. Indent: 这个最简单也最基本,根据缩进来折叠. Syntax: 根据程序语义进行折叠. 我们先看一个例子,左边是采用syntax方式进

Dreamweaver 8新功能介绍:代码折叠

dreamweaver 我们以前常听到包括Dreamweaver和其它Macroemdia软件用户的抱怨,特别是HomeSite/CFStudio用户,他们对Dreamweaver十分感冒,因为他们觉得Dreamweaver的环境十分不适合开发. OK,你等待的日子到了! 在Dreamweaver 8,Macromedia开发者们把这些提议都放在心里了,如果你是一个代码狂人,你将会迷恋于Dreamweaver 8新的编码工具栏. 让我们看看它的一个新的编码特点--代码折叠.在下面的文字里,我们将

让Visual Studio 也支持JS代码折叠 [ Visual Studio | #region | #endregion ]

前言       Visual Studio的代码折叠功能非常好用,#region #endregion 这个词连搜狗的词库里面都出现了(不含'#'号),可见使用频率很高,但是他不支持js的代码折叠 : ( 最近Ext用得比较多,一写就是上百行JS代码,非常不方便,想着自己写个扩展或插件什么的,意外搜到了下面的文章,已经用宏来实现了,本文可以理解为该文的简单译本,注意宏代码部分我有所改动 : )   文章       1.      Using #region Directive With Ja

让Visual Studio 也支持JS代码折叠 —— 续 [ Visual Studio | Js | ScriptOutline | SmallOutline ]

前言       上文让JS代码折叠的功能能用了,本文将对代码继续改进以期更好用.更实用,随后有介绍Visual Studio JS方面的几个插件.   文章       1.      VS2003折叠代码的Micro       2.      MSDN       3.      Document Outline for Client Script in Visual Studio 2005   正文       一.继续上文改造,主要是支持region 后面跟注释和显示注释 1.1 效果

eclipse xml 代码折叠-eclipse xml如何开启代码折叠功能?

问题描述 eclipse xml如何开启代码折叠功能? 已经设置了enable folding,还是不能折叠... 解决方案 出处:http://blog.csdn.net/kepoon/article/details/5842182 java开发环境eclipse的使用(模块代码折叠.可视化开发插件.生成Jar插件) 分类: [工具.配置] 2010-08-26 23:51 7404人阅读 评论(0) 收藏 举报 eclipsejavaswtlibraryjarclass 1.模块化代码折叠

Javascript实现代码折叠功能_javascript技巧

一.首先定义一个JavaScript function,如下: function puckerMenu(level) { var levelLength = ('row' + level).length; var toDo = '0'; for (var iCount = 0 ; iCount < document.all.length; iCount++){ if ( document.all[iCount].id.indexOf('row' + level) > -1 &&

在 winform 中实现代码折叠

问题描述 大家能说下思路吗,最近想学习一下vs中折叠后那一块是个控件吗,是什么控件,每一块,的折叠原理,不会是象在web中由不同的div实现隐藏和显示吧? 解决方案 解决方案二:up解决方案三:#region//代码#endregion是这样吗解决方案四:mark解决方案五:在www.codeproject.com里面有一篇是在listview里实现多条记录折叠的例子LZ可以去找来参考一下解决方案六:不大清楚楼住的意思哦解决方案七:#region备注//代码#endregion可以实现折叠代码解

VS中C++代码折叠

用VS编写C#时,可以用#region name和#endregion,将代码分段,这样可以将代码折叠起来,当类过大,方法过长时,这种方法可以提高阅读效率,是人看着更舒服.        对于C/C++语言,#region失效.这不免让人郁闷.        VS对C/C++语言,默认仅折叠预处理命令(#include, #pragma等).类.函数等.如果某个函数特别长,大大超出了屏幕范围,特别是多重循环时,很难确定哪个循环在哪终止,十分不便.        VS虽然没办法对C/C++语言像C

让Visual Studio 也支持JS代码折叠

有两种方法,第一种是设置宏,第二种是软件. 1:宏   - - - 前言       Visual Studio的代码折叠功能非常好用,#region #endregion 这个词连搜狗的词库里面都出现了(不含'#'号),可见使用频率很高,但是他不支持js的代码折叠 : ( 最近Ext用得比较多,一写就是上百行JS代码,非常不方便,想着自己写个扩展或插件什么的,意外搜到了下面的文章,已经用宏来实现了,本文可以理解为该文的简单译本,注意宏代码部分我有所改动 : ) 文章       1.