在Vim 中自动进行GNU 编程风格的缩进

2014/05/11:修改了cinoptions,消除了函数名称后直接跟括号(无横向空白)时缩进错误的bug。

2014/05/26:进一步修改使之更加贴近GNU 编程风格。

2014/05/26:修正了cinoptios,消除了函数体括号被强制缩进的错误。

" ==========================
" GNU 缩进风格
" ==========================
" 如果不喜欢GNU 缩进风格
" 请注释掉函数后的au 一行
" ==========================
function! GnuIndent ()
  let b:did_ftplugin = 1
  setlocal cindent
  setlocal shiftwidth=2 tabstop=2 textwidth=78 softtabstop=2
  setlocal cinoptions=>2s,e-s,n-s,{1s,^-s,Ls,:s,=s,g0,+.5s,p2s,t0,(0
  setlocal formatoptions-=t formatoptions+=croql
  setlocal comments=sO:*\ -,mO:\ \ \ ,exO:*/,s1:/*,mb:\ ,ex:*/
  set cpoptions-=C
  set expandtab smarttab autoindent smartindent
endfunction
au FileType c,cpp,h,hh call GnuIndent ()

确定你的Vim 开启了文件检测:

filetype plugin indent on	

确定你的Vim 没有手动默认指定filetype:

" 下面指定默认编辑文件类型的语句
" 会导致GnuIndent 函数无法正常工作
set filetype=perl

现在你的Vim 应该就能在写C/C++ 代码的时候自动进行GNU 编程风格的缩进了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值