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

NeoComplCacheのスニペット補完用C++11スニペットを書いてみた

C++11が国際標準として承認され,これから徐々に広まっていくであろう予測されます.そこでVimの有名な補完プラグイン,NeoComplCacheのスニペットにC++11で新たに加わった range-based-for,ラムダ式,scoped enumeration を追加してみました.

例えば.vimrcで,

let g:neocomplcache_snippets_dir = $HOME . '/.vim/snippets'

などとし,その中に次の内容をcpp.snipとして保存すると補完候補にスニペットが現れます.

#cpp.snip

# range based for ( C++11 feature )
snippet     for_CPP11
abbr        for (:) {}
    for (${1:var} : ${2:container}) {
        ${0}
    }

# lambda expression ( C++11 feature )
snippet     lambda
abbr        [](){}
    [${1}](${2})${3}{ ${4} }

# scoped enumeration ( C++11 feature )
snippet     enum_scoped
abbr        enum struct {}
    enum struct { ${1} }

追記:
NeoComplCache作者のShougoさんにスニペットを取り込んでいただいたので,NeoComplCacheを最新版にするだけで上記の操作をしなくても利用できるようになりました.