[Linux] VIM 代码折叠

From: http://www.cnblogs.com/abeen/archive/2010/08/06/1794197.html


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/abeen/.vimrc

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

 

选定折叠方式后,就可以使用折叠命令进行折叠操作了.常用的折叠方式为indent和marker.

indent折叠命令
indent方式,vim会自动利用缩进进行折叠,我们可以使用现成的折叠成果.
我们可以在折叠处输入以下命令:

zc 折叠
zC 对所在范围内所有嵌套的折叠点进行折叠
zo 展开折叠

zi  展开/折叠所有代码
zO 对所在范围内所有嵌套的折叠点展开
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。

 

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" 时有效。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405941.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux time

time&#xff08;取得目前的时间&#xff09; 相关函数ctime&#xff0c;ftime&#xff0c;gettimeofday 表头文件#include<time.h> 定义函数time_t time(time_t *t); 函数说明此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。如果t 并非…

java 模拟登陆web系统_关于java模拟登陆WEB的问题。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.URL;import javax.swing.JOptionPane;/** …

React开发(176):导出所有接口供使用

export * from ‘./order’; export * from ‘./wallet’; export * from ‘./walletAccount’; export * from ‘./walletTrade’;

微软Windows Mobile智能手机GPRS上网设置教程(转)

总是不断的有用户咨询GPRS的设置方法。并且由于中国移动的原因&#xff0c;人为的将一个GPRS网搞成了两个接入&#xff1a;CMNET和CMWAP&#xff0c;因此带来的问题更是多多。在昨日一个用户被移动强盗般的扣取了100多元的网络费后促使了这篇文章的加速出炉。之所以推荐新手必看…

[vim] vim中使用cscope的安装与使用

From: http://blog.sina.com.cn/s/blog_498a6eeb0100v05m.html 1. 下载cscope-15.7 http://dldx.csdn.net/fd.php?i878111800792509&s924cf0d6a0f63bb6ca24f900 ba3fcad8解压所里面有三个文件&#xff0c; 放到vim的安装目录下即可。2.建索引-bBuild the cross-reference…

Sql Server函数全解二数学函数

阅读目录 1.绝对值函数ABS(x)和返回圆周率的函数PI()2.平方根函数SQRT(x)3.获取随机函数的函数RAND()和RAND(x)4.四舍五入函数ROUND(x,y)5.符号函数SIGN(x)6.获取整数的函数CEILING(x)和FLOOR(x)7.幂运算函数POWER(x,y)、SQUARE(x)、和EXP(x)8.对数的运算LOG(x)和LOG10(x)9.角度…

java 虚类private 继承_Java经典面试36题和答案

1.”static”关键字是什么意思&#xff1f;Java中是否可以覆盖(override)一个private或者是static的方法&#xff1f;“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。Java中static方法不能被覆盖&#xff0c;因为方法覆盖是基于运…

React开发(177):opentab没有menu会报错

import { openTab } from /utils/tabUtils; connect(({ turnover, menu }) > ({turnover,menu, }))

Silverlight - IIS 7.5 部署SilverLight4网站以及问题解决

http://www.silverlightchina.net/html/tips/2010/0216/723.html 安装设置 Windows 7 IIS (HTTP Error 500.21 - Internal Server Error)解决 原因&#xff1a;在安装Framework v4.0之后&#xff0c;再启用IIS&#xff0c;导致Framework没有完全安装 解决&#xff1a;开始->…

[vim]vim 插件汇总

From: http://blog.sina.com.cn/s/blog_498a6eeb0100v06k.html 1. NERD_commenter.vim 万能的注释插件。 可以根据增加或修改&#xff0c;非常方便。 2. ctags 和cscope 用来看代码的一个工具&#xff0c;和cscope配合使用更好。 3.TagList 插件 高效地浏览源码, 出了当前文件…

php框架 wc if_PHP if else语句

无论在何种编程语言中&#xff0c;流程控制都是很重要的内容。由于 PHP 的大部分语法都继承了C语言的特点&#xff0c;因此在流程控制方面&#xff0c;PHP 有着和C语言类似的流程控制。if else 语句是流程控制中根据条件判断执行的一种。该语句执行时先对条件进行判断&#xff…

React开发(178):ant design table基础用法

<Table columns{columns} dataSource{data} /> ant design重要的控制表头和数据的对象属性 columns data

c# 泛型List的定义、作用、用法

定义&#xff1a;List<T>类表示可通过索引访问的对象的强类型列表&#xff0c;提供用于对列表进行搜索、排序和操作的方法。 作用&#xff1a; 泛型最常见的用途是泛型集合 我们在创建列表类时&#xff0c;列表项的数据类型可能是int,string或其它类型&#xff0c;如果对…

[vim]在vim中格式化xml

From: http://blog.sina.com.cn/s/blog_498a6eeb0100v3km.html 在_vimrc中增加&#xff1a; " 格式化xml function Xml() set filetypexml :%s/></>\r</g"把><替换成>回车< :normal ggG endfunction map <leader>xml :ca…

怎样用php写入数据库表,PHP如何将数据写入到MYSQL数据库

要想通过PHP将数据写入到MYSQL数据库&#xff0c;基本上要经历三步骤&#xff1a;连接数据库将数据写入数据库关闭连接连接数据库代码&#xff1a;define("DB_HOST","localhost");define("DB_USER","root");define("DB_PWD"…

无线路由与无线AP有什么不同

无线路由与无线AP有什么不同 无线网络从07年开始就进入高速发展的时期&#xff0c;无论是企业还是家庭&#xff0c;在组建网络的时候&#xff0c;大部分都会选择架设无线网络。但是无线网络因为其多种协议、多种功能&#xff0c;产品之间也会有不小的差别&#xff0c;就像很多人…

VIM 参考手册

From: http://vimcdoc.sourceforge.net/doc/map.html *map.txt* For Vim version 7.3. 最后更新: 2011年5月VIM 参考手册 作者: Bram Moolenaar译者: con<connetease.com>http://vimcdoc.sf.net键映射、缩写和用户定义的命令。本主题在用户手册 |05.3|&#x…

php直接导出csv,PHP百万级数据导出方案(生成器直接输出单个CSV)

概述&#xff1a;之前写过一篇文章叫PHP百万级数据导出方案(多csv文件压缩)&#xff0c;发现很多朋友都很感兴趣&#xff0c;但是当时用的方法比较不方便&#xff0c;可能不太符合很多人的需求。后来想了一下如何优化时&#xff0c;了解到能用生成器来处理内存溢出更方便&#…

vsftpd理论

各种FTP • FTP 基本最常见的FTP TCP21 • FTPS 基于TLS/SSL TCP21 • SFTP 基于SSH TCP22 • HTTP 基于HTTP TCP80 • HTTPS 基于SSL TCP443 • FT…

iOS - 判断用户是否允许推送通知(iOS7/iOS8)

&#xff08;iOS8中用户开启的推送通知类型对应的是UIUserNotificationType&#xff08;下边代码中UIUserNotificationSettings的types属性的类型&#xff09;&#xff0c;iOS7对应的是UIRemoteNotificationType&#xff09; 此处以iOS8的UIUserNotificationType为例&#xff0…