vim 折叠技巧
转自:http://www.2cto.com/os/201203/122133.html
主要命令:
zf-创建折叠
zf20G--创建折叠,从当前行折叠到第20行
zfgg--创建折叠,从当前位置折叠到文件头,非常适合编程的时候隐藏文件顶部的头文件包含,源文件注释
写程序时都是以函数为单位,可以很方便的折叠一个函数,而保留函数头部。如下函数,我们将光标停留在{处,输入zf%(%在vim中表示括号匹配,此处指匹配到另一个对应的大括号)
#include <stdio.h>
int main(int argc, char* argv[])
{
return 0;
}
效果就出来了:
#include <stdio.h>
int main(int argc, char* argv[])
+:-- 3行 {-------------------------------------------------}
若要再阅读那些文本,则可以键入以下命令打开该折叠:
zo
你还可以用一下命令再关闭该折叠:
zc
所有的折叠命令都以'z' 开头。展开你的想像力,这个字母看起来就像一张折叠起来的
纸的侧面。而"z" 后面可用的字母,由于采用了帮助记忆方法选择,很容易记得住:
zf F-old creation (创建折叠)
zo O-pen a fold (打开折叠)
zc C-lose a fold (关闭折叠)
一次打开所有折叠:
zr zR(用于有递归折叠的时候,功能与zr类似)
一次关闭所有折叠:
zm zM(用于有递归折叠的时候,功能与zm类似)
更常用的命令:
zi (当我们创建了折叠以后,可以使用zi关闭所有折叠,将光标移到想浏览的文本处,再按zi,打开所有折叠)
折叠控制:
有时候,查看或记住一个折叠在哪儿,挺不容易的。更别说用|zo| 命令来打开了。要查
看那些已定义的折叠:
:set foldcolumn=4
这个命令将在窗口左边显示一小栏来标识各个折叠。一个"+" 表示某个关闭的折叠。一
个"-" 表示每个打开的折叠的开头,而"|" 则表示该折叠内其余的行。
取消左边的小栏:
:set foldcolumn&
你可以在折叠栏内用鼠标点击"+",以打开一个折叠。点击"-" ,或在它之下的某个
"|" ,将关闭一个打开的折叠。
存储和恢复一个折叠:
当你关闭一个文件,去做其他事情,或编辑其他文件,回来以后编辑同一个文件,如果折叠是手动方式创建的,则所有的折叠都消失了!为了保存折叠,可以使用:
:mkview
这将存储那些影响文件视图的设定及其他内容。
稍后回到同一个文件时,可以重新载入这个视图:
:loadview
你可以为一个文件储存多至十个视图。例如,把当前设置储存为第三个视图,并载入第
二个视图:
:mkview 3
:loadview 2
依赖缩进折叠:
如果希望依赖缩进折叠,则首先需要设置
:set foldmethod=indent
如果你写的代码比较规范,不规范也没事,先全部选中,然后按“=”,代码就规范一些了。完整的命令是ggvG=
然后试试zm,zr有什么效果,这个功能对于程序员还是挺有用的。当我们设置了foldmethod后就不能再手动创建折叠了,对于我这样喜欢不喜欢被约束的这个功能其实很不咋滴。
我们只需要重新设置foldmethod就可以了。
:set foldmethod& (后面加个&就是恢复默认设置,反正我是这么理解的)
其他折叠方式:
依赖标识折叠
依赖语法折叠
依赖表达式折叠
参见:http://vimcdoc.sourceforge.net/doc/usr_28.html#28.6
参考资料:http://vimcdoc.sourceforge.net/doc/usr_28.html
vim 折叠技巧的更多相关文章
- Vim使用技巧汇总
一 写在开头 1.1 本文内容 Vim使用技巧与学习资源汇总. 二 Vim学习资源 1. Vimtutor 2. Vim中文帮助(http://vimcdoc.sourceforge.net/doc/ ...
- 转载: vim使用技巧
两篇很牛的vim使用技巧 来源: ChinaUnix博客 日期: 2009.07.06 10:18 (共有条评论) 我要评论 读本文之前请注意:1. 本文的目标是提供一些vim的使用技巧,利用 ...
- vim 使用技巧记录
vim 使用技巧记录 1.批量注释与取消注释 命令格式:起始行号,结束行号s#^#//#g 例如: 注释代码3到15行,"//"可以是其他的"" :3,15s# ...
- Vim 常用技巧:
Vim 常用技巧: 将回车由默认的8个空格改为4个空格: 命令:set sw=4 修改tab为4空格: 命令:set ts=4 设置每一级的缩进长度: 命令:set shiftwidth=4 设置文件 ...
- ###《VIM实用技巧》
###<VIM实用技巧> #@author: gr #@date: 2015-11-20 #@email: forgerui@gmail.com <VIM实用技巧>阅读笔记. ...
- 无插件Vim编程技巧
无插件Vim编程技巧 http://bbs.byr.cn/#!article/buptAUTA/59钻风 2014-03-24 09:43:46 发表于:vim 相信大家看过<简明Vim教程& ...
- vim实用技巧总结
1. 单个文件内实用mark来帮助跳转以及一些宏操作.(注意:mark不能用于多文件之间的跳转)mch 设置宏,保存到ch标记(不是ch寄存器)'ch 跳转到标记的行首`ch 跳转到标记的字符处另:为 ...
- 无插件VIM编程技巧(网摘)
无插件VIM编程技巧 原文出处:[陈皓 coolshell] 相信大家看过<简明Vim教程>也玩了<Vim大冒险>的游戏了,相信大家对Vim都有一个好的入门了.我在这里把我日常 ...
- vim常用技巧
# vim常用技巧 ## 行操作------------------------------ 行首 0- 行尾 $- 第一个非空字符 ^ ## 列编辑模式----------------------- ...
随机推荐
- shell编程-1到100的求和与冒泡排序
Shell编程 一. for循环 生成列表 {起始数..结束数} 命令生成列表 `seq [起始数] [步进长度] 结束数 ` for l in {1..5};do for l in `seq ...
- [每日一题] OCP1z0-047 :2013-07-30 表连接――内联视图当作表使用
用sys用户登录,给oe用户授权dba,以便可以用oe用户查看执行计划: oe@OCM> conn / as sysdba Connected. sys@OCM> grant dba to ...
- JSON基础知识
1.什么是json • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) • JSON 是轻量级的文本数据交换格式 ...
- var_export函数的使用方法
var_export() 函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码.var_export必须返回合法的php代码, 也就是 ...
- [模拟炉石](一)让游戏过程显示到cocos2d中
在上篇中,如果运行了fireplace的tests/full_game.py,这个程序将一个游戏过程在终端上运行完成,可以看到整个过程,那么第一步要做的就是将这个过程显示到cocos2d创建的场景中去 ...
- Spark学习笔记-如何运行wordcount(使用jar包)
IDE:eclipse Spark:spark-1.1.0-bin-hadoop2.4 scala:2.10.4 创建scala工程,编写wordcount程序如下 package com.luoga ...
- (2010-8-31) awk内存泄漏以及缓慢的正则表达式计算速度
AWK内存泄露: 这几天本来就很郁闷,遇到搭建在hadoop平台上的hive平台有很多问题.写个好好的sql语句,总是说这个错误那个错误.然后,今天遇到一个更加郁闷的问题,居然分析淘宝数据的awk都运 ...
- Linux Shell Scripting Tutorial (LSST) v2.0
http://bash.cyberciti.biz/wiki/index.php?title=Main_Page
- 有空可以对C#尝一下鲜,WCF看上去很诱人(跨进程、跨机器、跨子网,跨企业网乃至跨Internet的分布式服务)
说道底不还是要借助NGNIX实现,PHP自身呢?C#的WCF可以脱离IIS就可以实现跨进程.跨机器.跨子网,跨企业网乃至跨Internet的分布式服务,宿主可以是IIS,WinForm,WPF, Wi ...
- c++ 04
一.this指针 1. 2.应用场景 1) 2)将this指针作为函数的参数.一个对象可以通知另一个对象有关自身的地址. 教师 提问|^ V|答案 学生 交叉类问题: class ...