Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

カレントファイルにインクルードガードを書き込むvimスクリプト

$
0
0

概要

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さん,ありがとうございました.


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>