VIM行模式实现缩进(indent)折叠看代码,手动折叠(marker)看配置

vim单独指定文件的折叠方式(modeline、folding)

vim的modeline可以方便指定单独文件的使用单独的配置,设置在文件的开头或结尾的n行内,默认应该是开头结尾5行内,需要使用注释说明vim配置。详细的帮助vim :help查看

:help modeline

打开modeline功能

配置文件~/.vimrc,默认vim是关闭的,增加配置,目的平时看代码的时候使用indent(缩进)方式,配置使用marker(标记)方式,方便管理配置文件比如:nginx.conf、ansible的host文件等。

set modeline
set foldenable  # 打开折叠
set foldmethod=indent  # 默认设置按缩进方便查看程序代码

如果使用SpaceVim,在文件~/.SpaceVim.d/autoload/myspacevim.vim,before()代码块里增加。

func! myspacevim#before() abort
  set modeline  
  set foldenable  # 打开折叠
  set foldmethod=indent  # 默认设置按缩进方便查看程序代码
endf

vim折叠分类

vim折叠分类

  • manual 手工折叠
  • indent 使用缩进表示折叠
  • expr 使用表达式定义折叠
  • syntax 使用语法定义折叠
  • diff 对没有更改的文本进行折叠
  • marker 使用标记进行折叠, 默认标记是 {{{ 和 }}}

手动设置折叠

我这里在.vimrc 里设置的是indent,看代码的时候比较方便,但是在编译大一点的配置文件比如ansible的hosts文件或nginx.conf的时候可以方便折叠,自己设置折叠标记,可以采用手工设置。

:set fdm=marker

modeline 在文件开头或结尾设置折叠

折叠需要针对不同类型的文件进行设置,主要看文件的注释符号是什么,如C使用/**/ python使用#等,建议在文件末尾设置。

# 这是一个.py的文件

# vim: set foldmethod=marker:

检查配置是否生效

:verbose set fdm
foldmethod=marker
      Last set from modeline line 1173

这里可以看到生效显示的是"from modeline line 1173"

快捷键

:help folding  # vim里查看帮助
快捷键说明
zfv模式,按前面的方式进行折叠,开始的时候自己手动创建一个
zF创建折叠在里面填写内容
zdv模式删除折叠
zD删除嵌套
za[A]打开关闭之间你切换
zc[C]关闭
zo[O]打开
zr[m]分层打开和关闭
zR[M]全部打开和关闭
zj[k]折叠上下移动
[z,]z折叠上下移动

ansible hosts文件例子

# vim: set foldmethod=marker syntax=yaml ts=2 sw=1 sts=2 sr noet:

hosts文件没有扩展名显示的语法可能会有问题,使用行模式配置后看起来更准确。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值