「Neovimで編集」のコンテキストメニューを追加する【Windows10】
初稿:
更新:
- 4 min read -

本記事の経緯と主旨
VSCodeでVimエミュレータの拡張機能を使用しているが、何かと制限があり、かゆい所に手が届かず、小さなストレスがだいぶ蓄積されてきた今日このごろ。
ふと目にしたこの記事が気になった。
VSCodeのvim操作を高速化! vscode-neovimを導入してみた
FIXERがお届けするアドベントカレンダー企画第2回、vscode-neovimでVSCodeのvim操作を高速化しつつ.vimrcも使えるようにしてみました。
とくにこのくだり。
VSCodeVimのようにVIMをエミュレートするのではなく、NeoVimとVSCodeを統合する拡張機能です。ほとんどの操作を埋め込まれたNeoVimインスタンスで動作させるので速いらしい
まさに求めているものではないか。
しかし「Neovim」である。
噂はずっと耳にしているがVimから移行するキッカケがなかったので完全に未知である。
だがこれは神の啓示だ。
オレのVimが、ついに「Neo」になる時がきたのだ。
とりあえずWindows 10のメインPCとUbuntu20.04のノートPCにNeovimをインストールし、init.vimを共通化できるようにあれこれやりつつ、どうにか使える状態にこぎつけたのでこれは後日まとめる。
今回の主題は、『Windowsのエクスプローラで、ファイル右クリックからのコンテキストメニューに「Neovimで編集する」を追加したい』である。
本記事のゴール
- ファイルを右クリックしたコンテキストメニューに「Neovimで編集する」を追加する
- メニュー選択により、該当ファイルをPowerShell in Windows Terminalで開く
環境
- OS - Windows 10 Pro 21H2
- Neovim - v0.6.1
- Windows Terminal - v1.11.3471.0
- PowerShell - v7.2.1
作業手順
エディタで下記コードを記述したファイルを拡張子「.reg」で任意の場所に保存する。
※NeovimのパスはC:\Apps\Neovimを前提にしているので適宜修正を(6カ所)
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\nvim]
@="Edit with Neovim"
"Icon"="\"C:\\Apps\\Neovim\\bin\\nvim-qt.exe\""
[HKEY_CLASSES_ROOT\*\shell\nvim\command]
@="wt -p \"Windows PowerShell\" --title neovim C:\\Apps\\Neovim\\bin\\nvim.exe \"%1\""
[HKEY_CLASSES_ROOT\directory\shell\nvim]
@="Neovim Here"
"Icon"="\"C:\Apps\\Neovim\\bin\\nvim-qt.exe\""
[HKEY_CLASSES_ROOT\directory\shell\nvim\command]
@="wt -p \"Windows PowerShell\" --title neovim C:\\Apps\\Neovim\\bin\\nvim.exe \"%v\""
[HKEY_CLASSES_ROOT\directory\background\shell\nvim]
@="&Neovim Here"
"Icon"="\"C:\\Apps\\Neovim\\bin\\nvim-qt.exe\""
[HKEY_CLASSES_ROOT\directory\background\shell\nvim\command]
@="wt -p \"Windows PowerShell\" --title neovim C:\\Apps\\Neovim\\bin\\nvim.exe \"%v\""
作成した「reg」ファイルをダブルクリックまたはEnterで実行し、「はい」を選択。

この状態ではコンテキストメニューの表示が「Edit with Neovim」なのでレジストリエディタで編集する。「あとで編集するなら直接regファイルに書けばよかったじゃん」と思うのだが、日本語がうまく認識されなかったので、この手順とする。

Winキー + Rで「ファイル名を指定して実行」を開き、「regedit」と入力してEnterでレジストリエディタをオープン。
HKEY_CLASSES_ROOT\*\shell\nvimの「既定」を右クリック→修正で、データの値を編集する

右クリック、オッケー。

Windows TerminalのPowerShellで開いている、オッケー。

以上。