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- 行尾 $- 第一个非空字符 ^ ## 列编辑模式----------------------- ...
随机推荐
- UVa 679 小球下落 简单模拟题,树
题目大意:给你一个完全二叉树,并且给他们编号,编号规则为左子树为2*k,右子树为2*k+1,每一个节点 上都有一个开关,初始时开关都处于关闭状态,小球碰到节点就会改变该点的开关的状态.然后给你I个小球 ...
- [转载]VIM命令合集
Vim命令合集 http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 命令历史 以:和/开头的命令都有历史纪录, ...
- hdu5338 ZZX and Permutations(贪心、线段树)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud ZZX and Permutations Time Limit: 6000/300 ...
- 设置Toast显示位置
设置Toast显示位置 两个方法可以设置显示位置: 方法一:setGravity(int gravity, int xOffset, int yOffset)三个参数分别表示(起点位置,水平向右位移, ...
- Symfony2 Doctrine从现有Database生成Entity(转载自http://blog.it985.com/6809.html)
在我的以前一章Symfony之十分钟入门说了怎样生成数据库,然后设计实体Entity,再同步数据库的表结构,一般我们的顺序都是这样:生成数据库->设计实体Entity->同步数据库表结构. ...
- Pyhon之常用操作符 - 零基础入门学习Python006
Pyhon之常用操作符 让编程改变世界 Change the world by program 今天我们来谈谈Python之常用操作符,在此之前的一些例子中,大家已经看到Python可以完成简单的算术 ...
- CSU 1120 病毒
最长公共上升子序列(LCIS) 裸的算法题. 动态规划: 两组数组a[n].b[m]. f[i][i]表示以a[i].b[j]结尾的两个数组的LCIS. 转移方程: a[i]!=b[j] : f[i] ...
- str_翻转字符串
1. 给一个句子,翻转每个单词,单词内部不翻转 $str = "dog loves pig"; $ret = turnSentence($str); var_dump($ret); ...
- hdu 1245 Saving James Bond
http://acm.hdu.edu.cn/showproblem.php?pid=1245 #include <cstdio> #include <cstring> #inc ...
- poj3537--Crosses and Crosses
题意:有个一维棋盘,两人轮流下棋,然后谁连成三个谁赢 记得去年fj夏令营有见过这题,但是太弱了, 不会做. 记忆化搜索,如果n<=3肯定先手必胜,递推即可. #include<iostre ...