vim 中代码的折叠和打开

[VIM]VIM/GVIM中代码的折叠和打开 VIM/GVIM代码折叠功能详解:文章介绍了VIM编辑器中的代码折叠功能,可帮助处理冗长代码。详细讲解了6种折叠方式(manual/indent/expr/syntax/diff/marker),重点演示了marker方式的基本操作:使用zf创建折叠、zR/zM开关全部折叠、zE删除折叠标记。文章还提供了常用折叠命令如zc/zo(开关单个折叠)、zj/zk(在折叠间移动)等,并说明可将折叠设置写入.vimrc实现自动加载。特别提醒不同折叠方式互不兼容,建议根据代码特点选择合适方式(如indent适合缩进代码 阅读详情

文章转载自:http://liufabin66688.blog.163.com/blog/static/13968548200810140486304/
仅用于个人学习备查收藏。

在查看代码的时候,如果代码十分冗长,尤其是c/c++系列的时候,

代码结构比较让人难以理清,主要是各种注释、括号的匹配问题,
虽然可以用%来查看匹配的另外一半符号在哪里,但是如果这一对符号之间的代码超过了一页,甚至好几页的话,那么也是比较难以理解的。
于是可以使用这个vim所提供的折叠功能来简化这些分析。
我使用的vim是rh9自带的版本。

折叠的方式:

      manual           手工定义折叠
      indent             更多的缩进表示更高级别的折叠
      expr                用表达式来定义折叠
      syntax             用语法高亮来定义折叠
      diff                  对没有更改的文本进行折叠
      marker            对文中的标志折叠

可用选项 ‘foldmethod’ 来设定折叠方式:set fdm=*。
注意,每一种折叠方式不兼容,即:你不能用expr又用marker方式。
目前我一般使用的都是indent 比较多。
使用时,用:set fdm=indent 命令来设置成marker折叠方式。
在.vimrc文件中添加设置,可以使得每次打开vi 都启动折叠方式。如添加:set fdm=syntax。
2. 折叠打开与折合
选取了折叠方式后,我们就可以对某些代码实施我们需要的折叠了。
如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
indent 对应的折叠代码有:

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" 时有效。
高频网络协议与编程IO相关面试基本问题和知识点整理 网络IO相关基本高频面试基本问题和知识点整合 阅读详情

相关推荐

SAP HR模块配置假期日历和缺勤类型

SAP的HR模块。业务顾问在实施时一般会配置未来10年的假期日历,到期后再进行配置。同时,增加请假类型(缺勤信息类型)。记录这一过程。

福来阁86号技师的妖孽日常 5525

学习笔记之vi之折叠

help fold =========================================================== 自动Fold,假设你的文件是C源文件,输入 "set foldmethod=indent set foldenable 手动Fold,选中你要折的行,在Normal模式下 输入命令 zf% 才能进行下列相关的操作 ------------

citongke1的专栏 3812

声纹识别实战:用Python从零搭建一个简易声纹验证系统(附完整代码)

本文是一份详细的声纹识别实战指南,教你使用Python从零搭建一个简易的声纹验证系统。文章涵盖了从音频采集、预处理、MFCC特征提取,到基于高斯混合模型(GMM)的建模与验证全流程,并提供了完整的代码实现,帮助开发者快速掌握这项生物特征识别核心技术。

ik6789012的博客 235

【VIM】代码折叠命令

VIM的代码折叠模式有很多种,以下是手动折叠的相关设置个命令。2、然后重新打开vim,输入以下命令查看是否配置成功。1、在vim配置文件的最后,添加以下指令。

helloworld573的博客 3920

【保姆级教程/代码】使用PRIDE PPP-AR软件解算ZTD、反演GNSS PWV,并评估精度

在本算例中,我下载了BJFS站2024年的IGS ZTD产品,用于评估PRIDE PPP-AR软件解算出ZTD结果的精度。

weixin_43910227的博客 2374

cadence capture CIS 之使用access创建数据库(.mdb)

cadence capture CIS 之使用access创建数据库(.mdb)准备工作新建数据库 准备工作 1、一台电脑; 2、安装 Microsoft access database; 新建数据库 打开你准备创建数据库的位置,右键单击——》新建——》 Microsoft access database(注意:文件格式要选*.mdb) 打开数据库文件,创建——》表; 对数据表进行编辑,编辑表头、编辑表的内容、增加表的数量; 编辑表头:选中要编辑的表——》表设计 编辑内容:类似于excel添

weixin_42256550的博客 3151

【vim】折叠代码

Vim编辑器中可以使用foldmethod选项设置折叠方法。将foldmethod设置为manual以外的值时,将删除所有折叠并创建新折叠。切换到manual方法不会删除现有的折叠。由此可以先用自动定义折叠,然后手动更改它们。manual手动定义折叠indent缩进越多表示折叠级别越高expr指定用于定义折叠的表达式syntax定义的折叠方法基于语法高亮diff未更改文本的折叠marker定义的折叠基于文本中的标记manual使用命令手动定义折叠区域。

Mopoke的博客 1万+

使用GDScript(godot)生成仿杀戮尖塔地图

使用GDScript(godot)生成仿杀戮尖塔地图 extends Node2D export (PackedScene) var Ball var 被连接数 = {} # 每个怪物被下层怪物连接的数量 最多为2 var 连接1 = {} # 第一次连接的上层怪物位置 var 连接2 = {} # 第二次连接的上层怪物位置 var 怪物数量 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0] # 每层怪物的数量 var 总层数 =8 # 总层数 var 怪物坐标行 = {} #

weixin_45038716的博客 3011

spacevim 添加自动折行

spacevim 非常好用,强烈的安利。但是有一样不好用的地方就是写markdown的时候不会自动的折行,这点体验非常的不好。经过查询我找到了方法。 vim ~/.SpaceVim/vimrc 添加一行 set wrap cat ~/.SpaceVim/vimrc "============================================================================= " vimrc --- Entry file for vim " Copyright

qq_31433709的博客 872

python123题目——个税计算器

类型:简单分支。

m0_62488776的博客 5805

汽车OTA 测试用例

汽车OTA 测试用例

天赐好车的博客 976

#vscode #vim #折叠 代码折叠 与 解决 vim 移动会打开折叠代码块的问题

#vscode#vim#折叠 代码折叠 与 解决 vim 移动会打开折叠代码块的问题 ctrl + shift + [] 折叠代码和展开代码 ctrl + k + 0 折叠所有 ctrl + k + j 展开所有 解决 vim 移动会打开折叠代码块 在 Settings 中 vim.foldfix开启 zf 可以对选中的区域进行代码折叠。目前必须是结合 vip 进行段落选择才可以操作. zd 可以展开折叠

dragon8csdn的博客 1595

使用 Prometheus 监控 Spring Boot 应用

本文介绍了使用SpringBoot+Prometheus+Grafana实现应用监控的方案。首先在SpringBoot项目中集成Micrometer和Actuator组件,通过配置暴露Prometheus监控端点。接着配置Prometheus采集应用指标数据,并通过Grafana可视化展示。具体步骤包括:1)SpringBoot集成Micrometer;2)配置Prometheus抓取应用指标;3)安装Grafana并导入SpringBoot监控模板;4)展示JVM和业务指标。该方案可以实现对SpringB

蔡定努 431

Linux——VIM中代码的折叠和打开

文章转自:http://liufabin66688.blog.163.com/blog/static/13968548200810140486304/ 在查看代码的时候,如果代码十分冗长,尤其是c/c++系列的时候, 代码结构比较让人难以理清,主要是各种注释、括号的匹配问题, 虽然可以用%来查看匹配的另外一半符号在哪里,但是如果这一对符号之间的代码超过了一页,甚至好几页的话,那么也是比较难以理

Learn From The Masters 5866

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

vim设置为indent折叠以后,每次打开文件时代码处于折叠状态,能改变吗?

vim设置为indent折叠以后,每次打开文件时代码处于折叠状态。即使这次编辑的时候把折叠展开,保存关闭文件,重新打开,所有的代码都又折叠起来了。请问有没有默认不折叠的方法?是否有可以一次展开所有折叠的操作?(zO不行,只能移到折叠行上,展开该行以及该行下缩进更多的折叠) 2013-09-19 09:08 提问者采纳 设置上下面这个,就基本相当于...

169

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

vim 代码折叠

直接使用vim自带的快捷键和命令,便可以实现功能强大的折叠 在~/.vimrc中添加 set fdm=marker  5G  将光标跳转到第5行  zf10G  折叠第5行到第10行的代码,vim会在折叠的开始和结束自动添加三个连续的花括号作为标记  zR  打开所有折叠  zM  关闭所有折叠  zE  删除所有的折叠标签  退出vim窗口再次打开,执行2-6步。依然可以折叠,但

刘燕娜 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VSCode Vim j / k 移动会打开折叠代码块的 解决方案

文章目录problemsolution problem 行间移动会打开折叠的代码块, 影响体验 solution 设置中搜索 vim.foldfix 开启即可

♡ 脚下的每一步都叫远方 ♡ 2401

linux环境下vim使用小贴士-打开和关闭折叠的代码

今天撸代码的时候出现这种情况蒙b了 搜索vim出现±-----的情况怎么办 哈哈哈哈 看的我强迫症都犯了 还好我聪明的小脑袋瓜发现这是代码段被折叠了 只要在命令模式下(就是按完 esc键后的模式)光标移动到第16行 输入zo就可以把这个展开了。 ...

theresnotomorrow的博客 530

怎样在vim中实现代码折叠功能

问题:怎样在vim中实现代码折叠功能? 解决方法:直接使用vim自带的快捷键和命令,便可以实现功能强大的折叠 小试折叠: 1 :set fdm=marker 在vim中执行该命令 2 5G 将光标跳转到第5行 3 zf10G 折叠第5行到第10行的代码,vim会在折叠的开始和结束自动添加三个连续的花括号作为标记 4 zR 打开所有折叠 5 zM 关闭所有折叠 6 zE 删除所有的折叠标签 7 退出vim窗口再次打开,执行2-6步。依然可以折叠,但是没有标记了。重新打开后折叠信息会丢

ReadyShowShow的博客 4072

vim的代码折叠

http://www.cnblogs.com/huanlei/archive/2012/04/03/2430633.html 有时候看代码时,代码太长看着不方便,特别是阅读源码时,需要把不关心的代码先折叠起来,看自己当前最关注的代码。vim中自带了代码折叠功能。 配置foldmethod可以定义折叠方式,有6种可选方式: 1. manual //手工定义折叠 2.

gaoguoxin2的专栏 820

vim中的折叠(基本操作)

zf(Fold creation)--创建折叠(注意在.vimrc中设置set foldmethod=marker) e.g.:         zf56G,创建从当前行起到56行的代码折叠;         10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。         10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。         在括号处zf

太疯癫 1294

Vim中的代码折叠功能(基本命令)

<1>zf(Fold creation)–创建折叠(注意在.vimrc中设置set foldmethod=marker) e.g.: zf56G,创建从当前行起到56行的代码折叠; 10zf或10zf+或zf10↓,创建从当前行起到后10行的代码折叠。 10zf-或zf10↑,创建从当前行起到之前10行的代码折叠。 在括号处zf%,创建从当前行起到对应的匹配的括号上去((),{},...

buknow的博客 6359

vim 折叠

主要命令:zf-创建折叠zf20G--创建折叠,从当前行折叠到第20行zfgg--创建折叠,从当前位置折叠到文件头,非常适合编程的时候隐藏文件顶部的头文件包含,源文件注释写程序时都是以函数为单位,可以很方便的折叠一个函数,而保留函数头部。如下函数,我们将光标停留在{处,输入zf%(%在vim中表示括号匹配,此处指匹配到另一个对应的大括号)#include <stdio.h&...

abc145137的专栏 129

vim折叠

手动折叠: zfap 你将会看到该段落被一行高亮的文本所代替。你已经创建了一个折叠了。|zf|是一个操作符,而|ap|是一个文本对象。你可以将|zf| 操作符跟任何一个移动命令联用,为所经 之处的文本创建一个折叠。|zf| 也能在可视模式下使用 说明:ap是用以选择一个段落。这里a的用法如下所示:   " "this is a example" " 使用的方法就是a 只要在内层双引号

hnllei的专栏 1893
上一篇: PLSQL中文显示乱码(问号)
下一篇: CentOS7安装Oracle11g R2全过程
Ronney-Hua
博客等级 码龄10年 48粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值