ローカルのVimにneosnippetを導入しました。
手順は以下の通り。
① .vimrcに下記の内容を記述
② :NeoBundleInstall
" スニペット補完
NeoBundle 'Shougo/neosnippet'
NeoBundle 'Shougo/neosnippet-snippets'
" Plugin key-mappings.
imap <C-k> <Plug>(neosnippet_expand_or_jump)
smap <C-k> <Plug>(neosnippet_expand_or_jump)
xmap <C-k> <Plug>(neosnippet_expand_target)
" SuperTab like snippets behavior.
imap <expr><TAB> neosnippet#expandable_or_jumpable() ?
\ "\<Plug>(neosnippet_expand_or_jump)"
\: pumvisible() ? "\<C-n>" : "\<TAB>"
smap <expr><TAB> neosnippet#expandable_or_jumpable() ?
\ "\<Plug>(neosnippet_expand_or_jump)"
\: "\<TAB>"
" For snippet_complete marker.
if has('conceal')
set conceallevel=2 concealcursor=i
endif
これで、導入は完了。
試しに test.c で main + C-k を入力すると、以下のように入力された。
int main(int argc, char const* argv[])
{
return 0;
}
これは個人的な書き方と違っているので、snippetファイルをいじることに。
~/.vim/bundle/neosnippet-snippets/neosnippetsのc.snipを開き、下記のように修正しました。
// before
# hard-tab is necessary; C indent doesn't support this.
snippet main
int main(int argc, char const* argv[])
{
${0:TARGET}
return 0;
}
----------------------------------------------------------------------------------
// after
# hard-tab is necessary; C indent doesn't support this.
snippet main
int main(int argc, char const* argv[]) {
${0:TARGET}
return 0;
}
あと、main(void)の文が無かったので、それも追加。
# hard-tab is necessary; C indent doesn't support this.
snippet mainv
int main(void) {
${0:TARGET}
return 0;
}
設定は以上で終わり。
あとは早く慣れて、スムーズにコーディングできるようにしたいです。