`
lovnet
  • 浏览: 6670796 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

VIM折叠代码命令

 
阅读更多

在VIM下,折叠文本一般情况下我是使用Visual模式选中一些文本,然后用zf命令把他折叠出来,但是经常使用visual模式,感觉不是很方便,不过经常使用感觉不是很方便,找到帮助时.发现可以使用命令模式:开始行号,结束行号folder命令就可以折叠了,

同样多行缩进可以使用:110,120>来将110行到120行缩进

复制:110,120 yank 复制到默认寄存器

或者:110,120 yank x 复制到x寄存器

1. 折叠方式
可用选项 'foldmethod' 来设定折叠方式:set fdm=*****。
有 6 种方法来选定折叠:
manual 手工定义折叠
indent 更多的缩进表示更高级别的折叠
expr 用表达式来定义折叠
syntax 用语法高亮来定义折叠
diff 对没有更改的文本进行折叠
marker 对文中的标志折叠
注意,每一种折叠方式不兼容,如不能即用expr又用marker方式,我主要轮流使用indent和marker方式进行折叠。

使用时,用:set fdm=marker 命令来设置成marker折叠方式(fdm是foldmethod的缩写)。
要使每次打开vim时折叠都生效,则在.vimrc文件中添加设置,如添加:set fdm=syntax,就像添加其它的初始化设置一样。

2. 折叠命令
选取了折叠方式后,我们就可以对某些代码实施我们需要的折叠了,由于我使用indent和marker稍微多一些,故以它们的使用为例:
如果使用了indent方式,vim会自动的对大括号的中间部分进行折叠,我们可以直接使用这些现成的折叠成果。
在可折叠处(大括号中间):
zc 折叠
zC 对所在范围内所有嵌套的折叠点进行折叠
zo 展开折叠
zO 对所在范围内所有嵌套的折叠点展开
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。

当使用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超级配置

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

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

    选中代码块 按= 自动对齐 ctags -Rn . ctrl + ] ctrl + t 二、VIM编辑器的使用 vi vim (增强版vi,现在各版本的linux都带有vim) 三种模式: 普通模式:控制光标移动,删除字符,段落复制(按ESC) 编辑...

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

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

    learn-vim:vim基本学习

    Vim 基本功(Learn Vim...目录复制粘贴删除合并查找块操作缩进格式化窗口分屏标签页书签Vim宏录制Vim重复操作命令撤销重做位置跳转代码折叠Vim可视化模式编辑模式删除操作移动光标调整缩进复制寄存器自动补全输入非常用

    linux vim手户手册

    |usr_29.txt| 在代码间移动 |usr_30.txt| 编辑程序 |usr_31.txt| 利用 GUI 调节 Vim |usr_40.txt| 创建新的命令 |usr_41.txt| 编写 Vim 脚本 |usr_42.txt| 添加新的菜单 |usr_43.txt| 使用文件类型 |usr_44.txt| ...

    一个很好的vim配置(可鼠标操作,有目录,自动补全)

    插入按自动补全,检索方便,鼠标可操作,括号自动配对添加,代码折叠..更多惊喜要体验后才知道哦 要括号自动配对添加,.vimrc中需加这几句 (注意,从window贴过去可能会在每行后有^M就是\r ,需要去掉才行) set ...

    stan-vim:用于Stan概率编程语言的Vim插件

    通过代码缩进折叠。 通过Vim内置的omnifunc自动完成Stan关键字和功能。 安装 Vundle,NeoBundle和VimPlug 对于Vundle用户,请将其放在您的.vimrc : Plugin 'eigenfoo/stan-vim' ...然后在Vim中运行以下命令: ...

    python-syntax:Vim的Python语法突出显示

    Vim的Python语法突出显示 这是Neil Schemenauer着重强调python.vim的原始... 例如,要启用所有语法突出显示功能,可以将以下命令添加到~/.config/nvim/init.vim或~/.vimrc : let g: python_highlight_all = 1 变量

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

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

    Sublime Text 3.1.1 代码编辑工具(免费版)

    sublime text 3使用简单,操作方便,为用户提供了语法高亮、代码补全、代码片段、代码折叠、行号显示、自定义皮肤、配色方案等功能,感兴趣的不妨下载体验一下。 sublime text 3特色介绍: 1、良好的扩展功能,...

    CodeMirror-5.60.0在线代码编辑器

    能够做到代码高亮、自动补全,语法检测,代码折叠,可配置键盘事件,vim, emacs, sublime text 风格、能完成查找替换,括号匹配,分栏显示,显示行号,自行配置字体大小和风格 最基本功能,需引入codemirror.js和...

    Checkvist扩展命令「Checkvist extended commands」-crx插件

    向Checkvist添加更多的面向VIM的命令 #什么它向Checkvist(https://checkvist.com)添加了四个新命令命令:l-展开节点(与`→`相同)L-聚焦列表项(与Shift→相同)h-折叠节点(与`←`相同)H-使列表项失去焦点(与...

    Sublime Text 3

    支持32与64位操作系统,它在支持语法高亮、代 码补全、代码片段(Snippet)、代码折叠、行号显示、自定义皮肤、配色方案等所有其它代码编辑器所拥有的功能的同时,又保证了其飞快的速度!还有着 自身独特的功能,...

    神级代码编辑软件(Sublime Text 3) 3083 汉化 绿色 注册版

    支持32与64位操作系统,它在支持语法高亮、代 码补全、代码片段(Snippet)、代码折叠、行号显示、自定义皮肤、配色方案等所有其它代码编辑器所拥有的功能的同时,又保证了其飞快的速度!还有着 自身独特的功能,...

    优秀代码编辑器 Sublime Text 3.2.2 Build 3211 + x64 中文注册版.zip

    Ctrl+Shift+[ 折叠代码 Ctrl+Shift+] 展开代码 Ctrl+Shift+↑ 与上行互换 Ctrl+Shift+↓ 与下行互换 Ctrl+Shift+A 选择光标位置父标签对儿 Ctrl+Shift+D 复制光标所在整行,插入在该行之前 ctrl+shift+F 在文件夹内...

    Checkvist extended commands-crx插件

    将一些更Vim定向的命令添加到核心ist #什么 它为校验员添加了四个新命令(https://checkvist.com) 命令: l - 展开节点(与`→`相同) l - 焦点列表项(与`shift→`相同) H - 折叠节点(与`←)相同 h - 未注重...

    Sublime Text2.1 可添加windows8

    Ctrl+Shift+[ 折叠代码 Ctrl+Shift+] 展开代码 Ctrl+KT 折叠属性 Ctrl+K0 展开所有 Ctrl+U 软撤销 Ctrl+T 词互换 Tab 缩进 自动完成 Shift+Tab 去除缩进 Ctrl+Shift+↑ 与上行互换 Ctrl+Shift+↓ 与下行互换 Ctrl+K ...

    SublimeText3(3083)带汉化包-注册码

    支持32与64位操作系统,它在支持语法高亮、代 码补全、代码片段(Snippet)、代码折叠、行号显示、自定义皮肤、配色方案等所有其它代码编辑器所拥有的功能的同时,又保证了其飞快的速度!还有着 自身独特的功能,...

    ubuntu部落(适合初学者,可以作为初学者的手册)

    命令................................................................. 23 Linux 程序、进程.......................................... 25 Linux 系统简介......................................................

Global site tag (gtag.js) - Google Analytics