`

vim 折叠

    博客分类:
  • VIM
 
阅读更多
手动折叠:
zfap
你将会看到该段落被一行高亮的文本所代替。你已经创建了一个折叠了。|zf|是一个操作符,而|ap|是一个文本对象。你可以将|zf| 操作符跟任何一个移动命令联用,为所经 之处的文本创建一个折叠。|zf| 也能在可视模式下使用
说明:ap是用以选择一个段落。这里a的用法如下所示:

" "this is a example" "
使用的方法就是<action>a<标识,可以是',",],}等>
只要在内层双引号里面输入va" 就会选中"this is a example"
也可以在内层双引号中输入y2a" 就会复制" this is a example" "

{This is another example}
只要在{}内的任意位置输入va}就会复制{This is another example}。

zf20G 从当前位置折叠到20行
zfgg 从当前位置折叠到文件头,非常适合编程的时候隐藏文件顶部的头文件包含,源文件注释


作者常用:
写程序时都是以函数为单位,可以很方便的折叠一个函数,而保留函数头部。如下函数,我们将光标停留在{处,输入zf%
#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-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 打开在光标下的折叠 ...

    VIM用户手册(英文)

    - **折叠功能 (Folding):** Vim 折叠功能的使用技巧。 - **在程序中移动 (Moving through programs):** 在编程环境中高效移动的技巧。 - **编辑程序 (Editing programs):** Vim 在程序开发中的应用。 - **利用...

    易于为[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编辑器的插件,它的主要功能是在不依赖特定编程语言的情况下,基于代码的缩进来实现代码的折叠和运动操作。这一特性使得该插件在处理任何类型的文本或代码时都非常实用,无论你是编写...

    vim使用教程

    #### 十五、把Vim折叠(folding) - **手动折叠**:通过命令行手动创建折叠区域。 - **自动折叠**:根据不同的条件自动折叠代码块。 - **折叠的产生**:通过命令创建或取消折叠。 - **折叠的操作**:使用`z`系列...

    vim插件-配合数字电路systemverilog编程时使用

    通过`systemverilog.vim`,用户可以折叠和展开代码块,如模块、函数或条件语句,以保持代码整洁,便于理解和调试。折叠命令通常为`zo`(打开折叠)和`zc`(关闭折叠)。 Vim的查找和替换功能也是强大的辅助工具,...

    Linux中vim安装包

    5. **折叠代码**: `zo`展开折叠,`zO`关闭折叠,`zM`关闭所有折叠,`zR`展开所有折叠。 6. **插件管理**: Vundle、Pathogen和NeoBundle是流行的Vim插件管理器,可以帮助安装和管理第三方插件,提升Vim功能。 7. **...

    vim 常用快捷键笔记

    ### vim 常用快捷键知识点 #### 一、引言 Vim 是一款功能强大的文本编辑器,广泛应用于各种操作系统之中,特别是 Linux 和 Unix 平台。它源自 vi 编辑器,但添加了许多增强功能,使得它更加高效且易于定制。本文将...

    Modern_Vim_Craft_Your_Development_Environment_with_Vim_8_and_Neovim

    此外,还涵盖了针对不同编程语言的语法高亮、自动完成和代码折叠等增强功能的设置方法,以提升代码编辑体验。 针对现代开发环境,作者探讨了Vim与Git的集成,展示了如何高效地进行版本控制操作。同时,书中还讲解了...

    Vim 8.2 PDF 中文用户手册(最新)

    2. **折叠**:了解如何使用折叠功能来整理代码或文本,隐藏复杂的部分,以便更好地管理大型文件。 3. **在代码间移动**:掌握在代码之间移动的方法,以提高编写和维护代码的效率。 ### Vim的图形界面组件 1. **编辑...

    vim-rpm安装集合包

    2. **代码折叠**:允许用户折叠代码块以提高可读性。 3. **自动缩进**:根据语言规范自动调整代码缩进。 4. **代码补全**:通过插件提供智能提示,加快编程速度。 5. **调试工具集成**:如GDB集成,方便程序调试。 6...

    Pro Vim英文版

    通过安装插件,用户可以扩展Vim的功能,例如自动完成、代码折叠、语法高亮等。书中的插件部分将指导读者如何管理和使用这些插件,以提升开发环境的舒适度和生产力。 **4. Vim脚本编程** Vim支持自定义脚本,允许...

    vim用户手册和vim使用进阶

    - **语法高亮与代码折叠**: `syntax on`开启语法高亮,`foldmethod=indent`根据缩进折叠代码。 ## 4. vim与Bram Moolenaar Bram Moolenaar是vim的主要开发者,他的贡献使vim从原始的vi编辑器发展为现今的强大力量...

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

    为了将其转换为一个功能丰富的IDE(集成开发环境),我们需要配置一系列插件和设置,使得Vim具备自动生成头信息、自动补全、自动折叠以及自动生成Markdown目录等功能。本篇文章将详细介绍如何一键化打造这样的Vim ...

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

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

Global site tag (gtag.js) - Google Analytics