この記事は、takumma のやれるところまでやってみる1人 Advent Calendar 2022 13日目
の記事です。
zsh の高速化をするために nvm を lazy load する(zsh 起動時に nvm を load せず、node や npm などのコマンドを利用する時に nvm を load する)という人は割といると思う。
zsh での nvm の lazy load は、zsh-nvm を使う場合が多いのではないだろうか。
しかし vim の LSP として coc.nvim を使っている場合、coc.nvim は内部で node を使っているため vim 起動時に以下のようなエラーが出たりする。
[coc.nvim] node is not executable.
これを解決するためには、以下のような設定を .zshrc
に記述する。
export NVM_LAZY_LOAD=true
+ export NVM_LAZY_LOAD_EXTRA_COMMANDS=('vi' 'vim' 'nvim' 'code')
('vi', 'vim')
というようにカンマで区切らず、空白のみで区切ることに注意してほしい。
これによって、vim コマンドを入力した際に nvm が load され、それによって coc.nvim が正常に動作するようになる。
参考にした issue: