coc の環境に neosnippet を導入
経緯
スニペット機能を提供してくれるプラグインを使ったことがなくて、この土日で何か良さげなのないか探していました。 そしてとあるお方に、僕は neosnippet を使っているよ!と伺い、該当リポジトリ周辺を漁っていると neosnippet-snippets なるものと一緒に使うと、導入から直ぐ楽にスニペット機能が使えそうなので、早速使ってみようと考えました。
導入
とはいえ、以前に coc.nvim を入れていたので、 一緒に使うにはどう設定するんだろう... deoplete
は別に必須ではなさそうだけど、入れたほうがいいのかな....という考えもありつつ、調べてみると、 coc.nvim 用の補完ソースがいくつかある以外、特に deoplete + coc.nvim
に関する記載は見当たりませんでした。(というか似たようなインターフェースを持つプラグインなので、一緒に使うこと自体レアケースと思っていますが....)
注意書きはあるものの、 deoplete
入れずにこれでできそうなので、ひとまず neosnippet
から入れてみて、あとは CocInstall :coc-neosnippet
として導入を進めました。
" vim-plug を使用しています call plug#begin('~/.vim/plugged') ... ... Plug 'Shougo/neosnippet.vim' Plug 'Shougo/neosnippet-snippets' call plug#end() ... ... " ============================================== " neosnippet 用の設定 {{{ " ============================================== " Plugin key-mappings. " Note: It must be "imap" and "smap". It uses <Plug> 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. " Note: It must be "imap" and "smap". It uses <Plug> mappings. "imap <expr><TAB> " \ pumvisible() ? "\<C-n>" : " \ neosnippet#expandable_or_jumpable() ? " \ "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>" smap <expr><TAB> neosnippet#expandable_or_jumpable() ? \ "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>" " For conceal markers. if has('conceal') set conceallevel=2 concealcursor=niv endif " ============================================== " neosnippet 用の設定 }}} " ==============================================
:source ~/.config/nvim/init.vim :PlugInstall
こんなところで、スニペットを開くまで確認できました。 ( GIF ではないですが :pray: )
for
まで入力すると、上の画像のように候補が出てくるので、 Ctrl + n
で下に降りて行って... Ctrl + k
とすると、以下のように展開されます。
んーちょっと確認してないのであれなんですけど、neosnippet-snippets
から for
という単語から候補が呼び込まれてるだろうと信じてます。。。