ナンモワカランアザラシ

技術的なアレコレを自分の言葉で書いて保管・公開しておくための静かなインターネット

vim-plugでNeovimのパッケージ管理

私物のPCでのエディタをNeovimにしはじめた。

tsを書くにあたってLS(Language Server)による型チェックをしてほしかったのでパッケージを入れることにした。すでにcopilotは入れていたのだが、直に.config/nvim/packにcloneしていた。

LSPであれこれするのに、直にpackに突っ込んでいたらなんかうまくいかなかったのでパッケージマネージャに頼ることにした。

なんかいろいろあるらしいが勘でvim-plugにした。たぶんどれも変わらんでしょう。

nvimの設定は基本的にinit.vimに書くのだろうか。プラグインの設定もinit.vimに書いた。

" TypeScript用のシンタックスハイライトとLSPサポート
Plug 'leafgarland/typescript-vim'
Plug 'peitalin/vim-jsx-typescript'
Plug 'neoclide/coc.nvim', {'branch': 'release'}

call plug#end()

" coc.nvimの設定
let g:coc_global_extensions = ['coc-tsserver', 'coc-json', 'coc-html', 'coc-css']

いろいろ調べつつコピペで書いた。coc.nvimについてはよくわかっていない。ChatGPTの言うがままにした。

github.com

cocとはこれか。Nodeで動くVSCodeライクは拡張機能マネージャーといったところだろうか。察するにグローバルにいろいろ有効化するための記述だろう。 勘で入れたけどおそらくvim-jsx-typescriptは不要だったな。jsxファイル書かないし。

さて、dotfilesで管理するにあたっては、vim-plugで入るプラグインやcocで導入される拡張機能init.vimで管理されるからOKだ。

せっかくなのでvim-plugのインストールやパッケージ群のインストールもスクリプトに記述する。

$ cat install-package-manager.sh
#!/bin/sh

if [! -f ~/.local/share/nvim/site/autoload/plug.vim]; then
  echo "Installing vim-plug..."
  curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs \
  https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  echo "vim-plug install complete!"
else
  echo "vim-plug already installed!"
fi

echo "Installing neovim plugins..."

nvim +PlugInstall +qall

echo "Neovim setup complete!"

多分これで動くはずだ。