vim中常用折叠命令
最常用3个折叠命令
、反复打开关闭折叠:za (意思就是,当光标处折叠处于打开状态,za关闭之,当光标处折叠关闭状态,打开之)
、打开全部折叠:zR
、关闭全部折叠:zM
小试折叠:
:set fdm=marker 在vim中执行该命令
5G 将光标跳转到第5行
zf10G 折叠第5行到第10行的代码,vim会在折叠的开始和结束自动添加三个连续的花括号作为标记
zR 打开所有折叠
zM 关闭所有折叠
zE 删除所有的折叠标签
退出vim窗口再次打开,执行2-6步。依然可以折叠,但是没有标记了。重新打开后折叠信息会丢失。
折叠的方法,在上面第一步中,使用。
manual (不常用)默认折叠方法,如上面第7步即为该方法,关闭vim折叠会丢失。如果想保持折叠信息,可运行 :mkview 命令,重启后用 :loadview 命令回复。该命令生成的缓存文件位于 ~/.vim/view 文件夹中。移动或重命名文件,折叠信息依然会丢失。
indent (常用)缩进折叠方法,相同的缩进中代码会被折叠。
syntax (不常用)语法高亮折叠,在c/c++中会折叠花括号部分,其它格式代码中有的不能自动折叠。
marker (常用)标记折叠方法,如上面1-6所使用的方法。关闭vim折叠信息不会丢失,而且易用控制和标注。
还有两种 diff 和 expr,目前我还没有用过
打开和关闭折叠:
zo 打开光标下的折叠。
zO 打开光标下的折叠,以及嵌套的折叠。
zc 关闭光标下的折叠。
zC 关闭光标下的折叠,以及嵌套的折叠。
za 当光标在关闭折叠上时,打开之。在打开折叠上时,关闭之。
zA 和za类似,不过对当前折叠和其嵌套折叠都有效。
zv 打开当前光标所在折叠,仅打开足够的折叠使光标所在的行不被折叠。
zr和zm 一层一层打开折叠和一层一层关闭折叠,这两个命令会递减和递增一个叫foldlevel的变量。如果你发现zm和zr不灵了,那有可能是你连续按的zr或zm次数多了,只要多按几次让foldlevel回到正常状态即可。执行以下zR和zM也可直接让foldlevel回到正常状态。
zR和zM 打开所有折叠,设置foldlevel为最高级别。关闭所有折叠,设置foldlevel为0。
在折叠间移动:
[z 到当前打开折叠的开始。如果已在开始处,移到包含这个折叠的折叠开始处。
]z 到当前打开折叠的结束。如果已在结束处,移到包含这个折叠的折叠结束处。
zj 把光标移动到下一个折叠的开始处。
zk 把光标移动到前一个折叠的结束处。
在vim中运行 :h Folding 命令,查看折叠的帮助文档。
vim中常用折叠命令的更多相关文章
- Vim中常用的命令行
Vim中常用的命令行... ------------------- 一些真正强大的武器总不是那么容易驾驭的,主角总得付出一些努力才能收获到更加强大的力量,对于 Vim 这种上古神器来说更是如此.由于它 ...
- :整数 跳转到该行 Vim中常用的命令
:set nu 显示行号 :set nonu 不显示行号 :命令 执行该命令 :整数 跳转到该行 :s/one/two 将当前光标所在行的第一个one替换成two :s/one/two/g 将当前光标 ...
- VIM中的折叠命令
参考:http://blog.csdn.net/bruce0532/article/details/8497284 za:在折叠与展开间自由转换 zf:创建折叠 示例:zf 3j #本行及以下3 ...
- vim中常用的命令
1.光标的命令 gg 移到第一行位置 G 移到最后一行 o 行首 $ 行末 nk 向上移动n行 nj 向下移动n行 nh 向左移动n列 nl 向右移动n列 ctrl+f ...
- vim中执行shell命令小结
vim中执行shell命令,有以下几种形式 1):!command 不退出vim,并执行shell命令command,将命令输出显示在vim的命令区域,不会改变当前编辑的文件的内容 例如:!ls -l ...
- GIT中常用的命令
最近项目中使用到了GIT,所以记录一下GIT中常用的命令. GIT使用的客户端有Git Bash:http://code.google.com/p/msysgit/ 还有乌龟TortoiseGit:h ...
- 工作中常用Linux命令--服务器运维
工作中常用Linux命令--服务器运维 lsof查看端口使用情况 lsof -i:8080更多lsof命令使用说明:http://www.cnblogs.com/peida/archive/2013/ ...
- Linux系统中常用的命令汇总
日常开发,上线的服务器系统一般都是Linux系统,所以,熟练的掌握常用的命令操作就尤其的重要了 1) 查看某个服务的运行情况 (例如Redis) ps -ef | grep redis //e-显示程 ...
- 在vim中执行外部命令
11.7.5 在Vim编辑器中执行Shell命令 有时需要在Vim编辑器中执行Shell命令,例如需要验证一个Shell命令是否正确,以便写入脚本中:需要在文件中引用某个Shell命令的输入等.本小 ...
随机推荐
- scrapy-redis 0.6.8 配置信息
很多博客的db参数配置都不能用,所以记录一下该版本可用的配置 #启用Redis调度存储请求队列 SCHEDULER = "scrapy_redis.scheduler.Scheduler&q ...
- mysql数据库之事务和隔离级别
事务和并发执行目的: 1.提高吞吐量,资源利用率 2.减少等待时间 连接管理器:接受请求/创建线程/认证用户/建立安全连接 并发控制:任何时候,只要有两个以上的用户试图读写同时一个文件/数据,都会带来 ...
- 03、磁盘管理+swap分区创建+磁盘配额+自动挂载
磁盘管理 分区标识 一般用4位标识,前两位,磁盘类型,第3位,磁盘编号,第4位,分区编号 如: /dev/sda1 sd 磁盘类型 a 磁盘编号 1 分区编号 [root@s1 ...
- windows下apache + mod_wsgi + python部署flask接口服务
windows下apache + mod_wsgi + python部署flask接口服务 用python3安装虚拟环境 为啥要装虚拟环境? 原因1:安装虚拟环境是为了使项目的环境和全局环境隔离开,在 ...
- nginx 设置反向代理
一.多个路径指向同一ip的不同服务 参考地址:https://www.cnblogs.com/hanmk/p/9289069.html 编辑nginx.conf配置文件,新增加一个server模块,或 ...
- Java反射之Bean修改更新属性值等工具类
package com.bocean.util; import java.lang.annotation.Annotation; import java.lang.reflect.Field; imp ...
- mysql之子查询、视图、事务及pymysql等
数据准备 CREATE TABLE `emp` ( `id` int(0) NOT NULL AUTO_INCREMENT, `name` varchar(10) NOT NULL, `gender` ...
- LA2955 Vivian难题——梅森素数
题意 输入 $k$(1 \leq k \leq 100)个正整数 $p_1, p_2, ..., p_k$(1 < p_i < 2{31}),找出 $k$ 个非负整数 $e_i$ 使得 $ ...
- Github api【Restful接口规范】
Overview This describes the resources that make up the official GitHub REST API v3. If you have any ...
- Scrapy的中间件(二)
爬虫中间件 爬虫中间件的用法与下载器中间件非常相似,只是它们的作用对象不同.下载器中间件的作用对象是请求request和返回response:爬虫中间件的作用对象是爬虫,更具体地来说,就是写在spid ...