您的位置:首页 > 编程语言 > C语言/C++

c/c++防止头文件重复包含的vim插件headerGatesAdd.vim

2012-02-02 11:28 281 查看
c/c++防止头文件重复包含的插件headerGatesAdd.vim----作者:帅得不敢出门 c++哈哈堂群31843264

当创建一个新的c/c++头文件时,会自动添加防止重复包含的代码(有多种风格可以选择,并可以自行修改前缀后缀)

已上传到vim插件网上,地址为http://www.vim.org/scripts/script.php?script_id=3407

可用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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: