🙆

VSCode NeoVimをUbuntu on WSL2に入れた時の備忘録

2022/11/06に公開

最近Neovimにハマってしまい、いよいよVScodeでまともにコードが書けなくなってきたのでVSCodeのプラグインVSCode NeoVimを導入してみた。使ってみた感想は最高。VSCodeのNeo Vimは、VSCode上でVimをエミュレートするのではなくNeovimを直接参照することでVSCode上でVimを実現する拡張機能らしい。
多少躓いたのと自分と同じ環境の記事がネット上には少なかったのでやったことを具体的に書いていく。

対象

既にneovimの環境構築を一通り終えていて、自分と同じ環境の方。

環境

Ubuntu22.04.1 LTS on WSL2

拡張機能のインストール

https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim

VScodeの設定

settings.json

以下は私の設定。

settings.json
 {
  "vscode-neovim.neovimExecutablePaths.linux": "/usr/bin/nvim",
  "vscode-neovim.useWSL": true,
  "vscode-neovim.neovimInitVimPaths.linux": "/home/shoseisan/.config/nvim/init.vim",
  }

一つ目はnvimのバイナリファイルの場所。これは人によって異なるので、
ターミナルにwhich nvimと打って出てきたpathを指定しよう。
二つ目はWSL限定の設定。これをtrueにしないと上手く動作しなかった。
三つめは我々が育ててきたinit.vimのpathです。

ここまで来たら再起動すればvscode上でvimが使えるようになる。
動作テストをすると、一部プラグイン、esc→jjキーバインドが使えなくなっていた。
前者はともかく後者はかなり困るのでこれを解決する。

keybindings.json

keybindings.jsonに以下を書き加える。
設定>キーボードショートカット>右上のページアイコン
で開ける。

keybindings.json
{
    "command": "vscode-neovim.compositeEscape1",
    "key": "j",
    "when": "neovim.mode == insert && editorTextFocus",
    "args": "j"
},

https://zenn.dev/masaphil/articles/0daf775c215e58
https://scrapbox.io/snaka/WSL2_で_VSCode_Neovim

Discussion