每日一Vim(15)折叠(fold)
抱歉,今天的文章可能写的很难懂,还请大家多多包涵。
写程序遇到大段的代码时,如果想像Eclipse一样把函数都折叠起来,只显示函数的签名,或者折叠一个函数中小段代码,这样一来,整个文件的代码结构一览无余,非常清晰,如果要查看函数里面的具体内容就打开,对程序员来说这是很实用的技巧。
Vim用命令foldmethod实现折叠功能,一共有六种折叠方式,可以用:set foldmethod
查看当前session用的是哪种折叠,默认vim使用manual(手动)方式。
manual
手工折叠是最基本的折叠方式,在处理小块文件的时候简单实用。
zf 创建折叠(fold creation)
zo 打开折叠(open)
zc 再次折叠起来(close)
举例说明:
v{motion}zf 折叠V模式下选中的文本。(这里的v{motion}指的是Shift+v)。
zf\`a 折叠当前光标处到标记a处的文本 (`ma`就表示在当前光标出做a标记)
zf3j 折叠当前光标出下3行
zf10G 从当前行折叠至第20行
zfgg 折叠至行首
zf% 光标移至'{'时,vim会去匹配'}',这样'{}'之间的内容就可以折叠起来
indent
vim自动根据缩进折叠,缩进量与折叠行的嵌套深度关系有shiftwidth
控制,通过设置:set foldlevel=num
,num代表数字。foldlevel=0时关闭所有折叠,等价于zM
,zR
设置折行为最大值
相关推荐
matlab代码续行vim-matlab折叠 Matlab .m语法文件的Vim编辑器的代码折叠。 便于折叠以%%开头的任何缩进的matlab代码或编辑器单元格。 折痕基于代码中的缩进结构,以尊重end关键字和以...结尾的行继续... 。 因此,...
Flexagon,一种 Vim 折叠方法方法管理器vims 折叠的包装器可以在各种折叠方案和一些有用的预包装方案之间轻松切换,所有这些都旨在轻松发现和轻松切换。 Flexagon 还提供了一些自定义折叠展示和“气泡”插件映射来...
`vim-anyfold`是一款针对Vim编辑器的插件,它的主要功能是在不依赖特定编程语言的情况下,基于代码的缩进来实现代码的折叠和运动操作。这一特性使得该插件在处理任何类型的文本或代码时都非常实用,无论你是编写...
在“vim-matlab-fold-master”这个文件名中,我们可以推测这可能是一个Vim插件的源代码仓库,专注于Matlab代码折叠。它可能包含了 Vim 脚本,用于识别Matlab的语法结构并自动创建折叠点。用户安装此插件后,可以享受...
12. **代码折叠**:启用fold功能,通过`zf`创建折叠,`zo`打开,`zc`关闭,便于查看和管理大型代码文件。 13. **代码跳转**:如Tagbar插件显示函数或变量的定义,Jumper用于跳转到定义位置。 14. **性能调优**:...
还有许多其他插件,如用于代码折叠的`fold-plugin`,用于代码跳转的`ctrlp.vim`,以及用于增强搜索的`ack.vim`等。你可以根据个人需求和喜好去探索和安装。 总的来说,通过学习和实践Vim插件的安装与配置,你可以将...
5. **代码折叠**:`fold`功能可以帮助你管理复杂的代码结构,通过`zo`(打开折叠)、`zc`(关闭折叠)等命令进行操作。在vimrc中可以设置如下折叠方式: ```vim set foldmethod=syntax ``` 6. **跳转到定义**:`...
这个软件包可以像Vim一样执行文本折叠。 它具有以下功能: 折叠活动区域; 良好的视觉反馈:很明显,文本的哪一部分被折叠; 从{{{ }}}之间的区域自动创建折叠(标记可自定义); 默认情况下是持久性的:杀死...
6. **代码折叠**:`fold` 命令和 `foldmethod` 选项可以实现代码折叠,保持编辑界面整洁。`foldmethod=syntax` 可以根据语法结构进行折叠。 7. **标签导航**:`tagbar` 插件显示当前文件的函数或方法标签,方便在...
#### 十五、代码折叠(fold) 代码折叠功能允许开发者隐藏代码的某些部分,仅显示关键逻辑或结构,对于理解复杂代码结构和减少视觉噪音非常有帮助。通过设置不同的折叠级别和触发方式,可以定制个性化的代码展示...
4. **代码折叠**:类似于Eclipse的代码折叠功能,ViM的`fold`命令和相关设置可以让用户隐藏代码块,保持代码的整洁。 5. **项目导航**:ViM的`NERDTree`或`Unite`插件可以模拟Eclipse的项目浏览器,方便查看和跳转...
6. **代码折叠**:如foldexpr或Fold plugin能让用户通过简单的快捷键隐藏或展开代码块,便于查看和管理大量代码。 7. **跳转和查找**:QuickJump或CtrlP这类插件提供快速的跳转功能,允许用户根据文件名、符号或...
4. **代码折叠**:如 Fold plugins,允许用户折叠代码块,提高代码的可读性,便于查看和管理复杂代码结构。 5. **代码跳转**:如 Tagbar 或 EasyMotion,它们提供了便捷的函数定义跳转和光标移动功能,使得在大型...
6. **代码折叠**:通过`fold`功能,可以方便地折叠和展开代码块,便于查看和管理大文件。 7. **代码跳转**:通过`ctags`支持,可以在源代码间快速跳转,这对于大型项目尤其有用。 8. **编码支持**:预配置的Vim...
8. **利用Vim的fold功能**:通过折叠代码块,可以更有效地管理和查看STL容器中的复杂结构,如嵌套循环和条件语句。 9. **使用UltiSnips插件**: UltiSnips提供了一种方式来创建和使用代码片段,对于STL常用代码块...
3. 安装代码折叠:安装fold插件,如`Fold`,通过`zf`创建折叠,`zo`打开折叠,`zO`关闭所有折叠。 4. 设置配色方案:通过`colorscheme {主题名}`设定喜欢的颜色方案,如`colorscheme solarized`。 5. 安装NERDTree...
OmniCppComplete 是 Vim 的一个插件,可以为 C/C++ 提供自动补全功能,极大地提高了编码效率。 ```vim " 配置 OmniCppComplete let OmniCpp_DefaultNamespaces=["std"] let OmniCpp_MayCompleteScope=1 set ...
自动载入保存fold(折叠)信息 --------------------------------------------------------------- tl: 显示taglist wm:显示winmanager ,v: 打开配置文件 ,te: 打开俄罗斯方块(熟悉HJKL键) tv: 在gvim中打开...
用于Verilog和SystemVerilog的Vim语法插件关于基于最初在以下位置找到的脚本:重要通知3.0版审查了此插件中使用的配置变量。 因此,请考虑以下变量已被弃用并且不再受支持: b:verilog_indent_modules b:verilog_...
自动折叠(即,通过不同于manual的折叠方法生成的折叠)会在插入模式下使VIM停滞不前。 它们也经常被过早地重新计算(例如,当插入一个打开的折叠标记时,其关闭对应的标记还没有丢失以完成折叠)。 有关讨论,请...