読者です 読者をやめる 読者になる 読者になる

インクルードガード用の neocomplcache スニペット

Vim C++

neocomplcache のスニペットには Vim script の式を使って展開する機能があります.

  • c.snip
snippet include_guard
alias   inc_guard
prev_word '^'
abbr    #if !defined HOGE #define HOGE #endif
    #if !defined `toupper( substitute( expand("%"), "\\.", "_", "g" ) )."_INCLUDED__"`
    #define `toupper( substitute( expand("%"), "\\.", "_", "g" ) )."_INCLUDED__"`
    ${0}
    #endif // `toupper( substitute( expand("%"), "\\.", "_", "g" ) )."_INCLUDED__"`

このファイルを g:neocomplcache_snippets_dir で指定したディレクトリ下に置くと,inc_guard または include_guard というスニペットが neocomplcache の補完候補に現れます.
これはインクルードガード用のプリプロセッサマクロを生成するものです.

hoge.hpp というファイルでこのスニペットを選択すると,

#if !defined HOGE_HPP_INCLUDED__
#define HOGE_HPP_INCLUDED__

#endif // HOGE_HPP_INCLUDED__

というふうに展開されます.

候補名やマクロ変数名が気に入らない場合は適宜変更して下さい.

ちなみに,neocomplcache のスニペット機能は
Shougo/neocomplcache-snippets-complete · GitHub
からインストールできます.