Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4511150
  • 博文数量: 356
  • 博客积分: 10458
  • 博客等级: 上将
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-24 14:59
文章分类

全部博文(356)

文章存档

2020年(17)

2019年(9)

2018年(26)

2017年(5)

2016年(11)

2015年(20)

2014年(2)

2013年(17)

2012年(15)

2011年(4)

2010年(7)

2009年(14)

2008年(209)

分类: Python/Ruby

2012-02-02 11:58:44

c/c++防止头文件重复包含的插件headerGatesAdd.vim----作者:帅得不敢出门   c++哈哈堂31843264
当创建一个新的c/c++头文件时,会自动添加防止重复包含的代码(有多种风格可以选择,并可以自行修改前缀后缀)
已上传到vim插件网上,地址为
可用bundle管理自动安装或者升级(Bundle 'tczengming/headerGatesAdd.vim'),1.3前版本依赖python,1.4以后不再依赖 
有什么BUG或者建议欢迎提出.

默认后缀配置,自动加 _H,下面这个可以在你的vimrc中修改成其他配置
let g:HeaderGatesAdd_suffix="_H"  
1.  对于大小写变换的中间会加个_下划线
foo_n.h  or  FooN.h  or  foo n.h  ...
#ifndef FOO_N_H
#define FOO_N_H

#endif   /*FOO_N_H*/

如果你设定了 let g:HeaderGatesAdd_suffix="__"
那么FOO_N_H 就会变成   FOO_N__
2.
如果在.vimrc 或者 _vimrc 中设定了 let g:insert_extern_c_flag=1
当你创建新头文件如 foo_h.h时,则自动添加内容如下(就是额外添加了extern "C"那一段):
#ifndef FOO_N_H
#define FOO_N_H

#ifdef __cplusplus
extern "C" {
#endif


#ifdef __cplusplus
}
#endif

#endif  /*FOO_N_H*/

3.
:HeaderGatesAdd  可用这个命令动态添加防重复包含的代码
比如已经存在代码如下
/**
* @file        foo_n.h
* @version     0.1.00
*/

void test();

在vim中运行上面命令后会变成如下
/**
* @file        foo_n.h
* @version     0.1.00
*/
#ifndef FOO_N_H
#define FOO_N_H

#ifdef __cplusplus
extern "C" {
#endif

void test();

#ifdef __cplusplus
}
#endif

#endif  /*FOO_N_H*/

4.修改前缀,默认为空
let g:HeaderGatesAdd_prefix="__"   
foo_n.h ---------> __FOO_N
5.修改后缀,默认为"_H"
let g:HeaderGatesAdd_suffix="_SUFFIX"
foo_n.h ---------> FOO_N_SUFFIX

6.
以下示例是在前后缀都为空情况下
g:HeaderGatesAdd_gate_type不同值下不同的效果展示
let g:HeaderGatesAdd_gate_type=0  这个是默认的,中间会加 _
aTestFile.h  ---------> A_TEST_FILE

let g:HeaderGatesAdd_gate_type=1   全大写
aTestFile.h  ---------> ATESTFILE

let g:HeaderGatesAdd_gate_type=2   大小写与文件名一样
aTestFile.h  --------->aTestFile
 

安装方法用bundle管理或者下载后放到vim插件目录下如 ~/.vim/plugin/

阅读(2885) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~