gvim 创建按*层级缩进的diary类型文件

本文介绍了如何在gvim中通过自定义filetype,使文本信息根据*的数量实现不同级别的缩进,详细说明了创建starFold.vim、配置filetype.vim以及使用方法,达到类似diary的折叠效果。
摘要由CSDN通过智能技术生成

本文尝试解决的问题是:在使用gvim时,能够按照*的个数来缩进文本信息


定制一个filetype

  • 在 C:\Vim\vim74\syntax 创建一个文件 starFold.vim;内容如下:
set fdc=2
set lsp=5
syn match head "^*.\+" "星号计算标题层级
hi head guifg=green gui=bold
set fdm=expr
set foldexpr=Myindent(v:lnum)

func! Myindent(lnum)
let s:a=strlen(matchstr(getline(v:lnum),'^\*\+'))
if s:a == 2
     return '>2'
elseif s:a == 1
     return '>1'
else
     return '='
endif
endf


配置filetype

在 C:\Vim\vim74 目录的 filetype.vim 文件中添加

au BufNewFile,BufRead *.diary setf starFold


使用

  • 重启gvim
  • 创建名为test.diary的文件:
    这里写图片描述
  • 折叠后效果:
    这里写图片描述

参考:
http://vim.wikia.com/wiki/Customize_text_for_closed_folds

http://blog.csdn.net/fivedoumi/article/details/50570467

善用佳软vim实例1:自定义文件类型

how to fold in vim

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值