概要
C言語の場合,ヘッダーファイルにインクルードガードを書くと思います.
hoge.h
#ifndef __HOGE_H_INCLUDED_#define __HOGE_H_INCLUDED_voidhoge(void);#endif //__HOGE_H_INCLUDED_
いちいち書くのが面倒なのでカレントファイルに書き込んでくれるスクリプトを書きました.
スクリプト
.vimrcに追記.特に説明はいらないと思います.
.vimrc
"----------------------------------------------------" Insert include guard to the current file"----------------------------------------------------
command!-nargs=0 IncGuard call IncludeGuard()function! IncludeGuard()"カレントファイル名を取得let name = fnamemodify(expand('%'),':t')"大文字にするlet name = toupper(name)"がーどlet included ='__'.substitute(name,'\.','_','g').'_INCLUDED__'"書き込みlet res_head ='#ifndef '.included."\n#define ".included."\n\n"let res_foot ="\n".'#endif //'.included."\n"silent! execute '1s/^/\=res_head'silent! execute '$s/$/\=res_foot'endfunction
最後に
本当はファイルの先頭,末尾に書きたかったけどやり方がわからなかったです.
gg,Gで移動してから書けばいいのかもしれないけどあんまり美しくないし.
↑修正しました.
Qiitaってvimスクリプトはsyntax ハイライトしてくれないんですね・・・
↑修正しました.
ご指摘いただいた @uasiさん,ありがとうございました.