`

vim折叠

    博客分类:
  • vim
vim 
阅读更多

转自<http://hahaxiao.techweb.com.cn/archives/769.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 展开折叠
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” 时有效

分享到:
评论

相关推荐

    vim-flexagon:灵活实用的vim折叠切换器

    Flexagon,一种 Vim 折叠方法方法管理器vims 折叠的包装器可以在各种折叠方案和一些有用的预包装方案之间轻松切换,所有这些都旨在轻松发现和轻松切换。 Flexagon 还提供了一些自定义折叠展示和“气泡”插件映射来...

    vim超级配置

    +-- 42 lines: vim折叠功能------------------------------------------------------------------------------------ +-- 19 lines: 文件比较----------------------------------------------------------------...

    vim插件和配置 for Linux 自动补全 IDE

    set foldlevel=100 "启动vim时不要自动折叠代码 set foldcolumn=5 "设置折叠栏宽度 常用命令: za 打开/关闭在光标下的折叠 zA 循环地打开/关闭光标下的折叠 zc 关闭close在光标下的折叠 zo 打开在光标下的折叠 ...

    易于为[neo] vim定制折叠文本。-Linux开发

    易于为[neo] vim定制折叠文本。 Crease.vim为[neo] vim轻松定制折叠文本。 安装Vim软件包(自Vim 7.4.1528起)git clone https://github.com/scr1pt0r/crease.vim〜/ .vim / pack / plugins / start / crease ...

    vim-anyfold:与语言无关的vim插件,用于基于缩进进行折叠和运动

    vim-anyfold:与语言无关的vim插件,用于基于缩进进行折叠和运动

    FastFold, 仅在调用时更新折叠,以加速 Vim.zip

    FastFold, 仅在调用时更新折叠,以加速 Vim ,FastFold会做什么?自动折叠( 也就是说,折叠方法产生的褶皱与 manual 不同),在插入模式下有明显的VIM 。 他们也经常被重新计算过早( 例如,插入一个开放的折叠标记,...

    SimpylFold, Vim无 python 代码折叠.zip

    SimpylFold, Vim无 python 代码折叠 SimpylFold由于它依赖于显著的空白而不是显式块分隔符,正确折叠 python 代码很棘手。 Vim绑定的python 语法定义并不包含任何折叠指令,最简单的解决方法是 set foldmethod=...

    vim-most-minimal-folds:从 vim 的折叠线中去除所有噪音

    最小折叠.vim 从 vim 的折叠线中去除所有噪音。 关于 默认情况下,Vim 的折叠带有很多噪音。 上面截图的第二行是vim的折叠。 该行上的所有内容,除了红色框中的文本外,都是由 vim 添加的:缩进、连字符和行数。 ...

    vim配置文件压缩包

    vim配置文件含有各种插件。用着能方便一些" 编写文件时的配置 &gt; " ----------------------------------------------------------------------------- filetype on "启用文件类型侦测 filetype plugin on "针对不同的...

    vim user manual ---vim用户手册

    j28.9j 折叠未有改变的行 j28.10j 使用何种折行方法? jusr 29.txtj 之于程序 j29.1j 使用tags j29.2j 预览窗口 14 15 第00章目录 j29.3j 在程序中移动 j29.4j 查找全局标识符 j29.5j 查找局部标识符 jusr 30.txtj ...

    matlab加粗代码-vim-matlab-behave:重现Matlab编辑器的行为(例如,运行功能)

    matlab加粗代码 matlab-behave.vim 便于将vim / gvim用作Matlab的外部编辑器(GUI或终端): 尝试重现matlab编辑器的典型F5,...zo)并使用vim折叠映射(zj zk)从一个单元格跳转到另一个单元格 引发错误时在vim中打开

    matlab代码续行-vim-matlab-fold:Matlab文件的Vim代码折叠

    matlab代码续行vim-matlab折叠 Matlab .m语法文件的Vim编辑器的代码折叠。 便于折叠以%%开头的任何缩进的matlab代码或编辑器单元格。 折痕基于代码中的缩进结构,以尊重end关键字和以...结尾的行继续... 。 因此,...

    vim-fish, 用于编辑fish脚本的Vim支持.zip

    vim-fish, 用于编辑fish脚本的Vim支持 vim这是Vim为编辑 fish 脚本提供支持的插件。功能 aplenty语法高亮和文件类型检测,当然。基于关键字的控制结构自动缩进。end 终止鱼的所有自动折叠。使用 gq 运算符使用 fish_...

    linux-一键化打造VimIDE环境自动生成头信息自动补全自动折叠自动生成markdown目录

    一键化打造 Vim IDE 环境(自动生成头信息,自动补全,自动折叠,自动生成 markdown 目录) VIM IDE部署方法 部署方法很简单

    实战Linux vim后门

    Vim 提供了代码折叠、语法高亮、自动补全等功能,适用于程序员和文本编辑爱好者。通过个性化配置和插件系统,用户可以定制快捷键、颜色方案等。Vim 还可以作为图形化编辑器,在不同操作系统上运行,并与版本控制系统...

    org.vim:Vim的组织模式语法高亮显示和折叠

    Vim的组织模式和大纲模式语法突出显示Org.vim是的最小和插件,仅提供语法突出显示和折叠。 该插件旨在在组织模式(和大纲模式)文件上复制Vim编辑经验,而不是试图成为功能齐全的组织模式插件,这就是Emacs的目的。 ...

    vim安装包,用于linux十分便捷

    tar -xf vim.tar -C ~ vim /etc/vimrc vim /root/.vimrc set ts=4 设置tab有多少空格 set ai 自动对齐 set nu set mouse=a set shiftwidth=4 shift + . 向左向右缩进 shift + , jklh ,cs 性感的注释 ...

    vim插件打包

    "set foldmethod=syntax "代码折叠 "}} "conf for plugins {{ 插件相关的配置 "状态栏的配置 "powerline{ set guifont=PowerlineSymbols\ for\ Powerline set nocompatible set t_Co=256 let g:Powerline_symbols ...

    FastFold:仅在需要时才通过更新折叠来加速Vim

    自动折叠(即,通过不同于manual的折叠方法生成的折叠)会在插入模式下使VIM停滞不前。 它们也经常被过早地重新计算(例如,当插入一个打开的折叠标记时,其关闭对应的标记还没有丢失以完成折叠)。 有关讨论,请...

Global site tag (gtag.js) - Google Analytics