NeovimをUSBメモリに入れてポータブル運用する方法
普段使っているPC以外の端末で作業する機会があると、自分の設定やプラグインが入っていないことにストレスを感じることがあります。Neovimはインストーラーを使わずzipを展開するだけで動くため、USBメモリに設定一式を入れておけば、どのWindows PCでも同じ環境を持ち歩けます。
USBメモリ内のファイル構成
例えば、次のような構成でUSBメモリにまとめます。
{USBメモリのドライブ}
├─ nvim/ ← Neovim本体一式(zip展開したもの)
└─ conf/
├─ init.vim ← 設定ファイル
├─ plugins/ ← プラグイン管理ツールとプラグイン本体
├─ swap/
├─ backup/
└─ undo/
Neovim本体のzip展開方法はNeovimのインストール方法の記事を、設定ファイルの配置ルールは設定ファイルパスの記事を参照してください。
起動時に設定ファイルを明示的に指定する
起動コマンドで設定ファイルを指定する
ポイントは起動コマンドで、必ずUSBメモリ内の設定ファイルを明示的に指定します。指定しないと、PC側にすでにある(あるいは存在しない)標準の設定ファイルを読みにいってしまいます。
nvim.exe -u {USBメモリのドライブ}\conf\init.vim
バッチファイルで自動化する
毎回入力するのは手間なので、次のようなバッチファイルをUSBメモリのルートに置いておくと便利です。
@ECHO OFF
set USBDRV=%~dp0
set NVIM=%USBDRV%nvim\bin\nvim.exe
set CONFIG=%USBDRV%conf\init.vim
%NVIM% -u %CONFIG%
これをダブルクリックするだけで、自分の設定を読み込んだNeovimがその場で起動します。
PATHを通さずに使える
USBメモリから起動する場合、PC側の環境変数PATHにNeovimを追加する必要はありません。nvim.exeのフルパスを直接指定して起動すれば済むので、他人のPCや共有端末でも環境を汚さずに使える点がメリットになります。
-u {設定ファイルのパス}を必ず付けます。付け忘れるとPC側の標準設定で起動してしまいます。
動かないプラグインもある点に注意
全部が全部同じように動くわけではありません。外部のプログラム(PythonやGitなど)に依存するプラグインは、そのPCにその外部プログラムが入っていなければ動作しません。あくまで「テキスト編集を素早くできる簡易環境」と割り切って使うのが現実的です。
出張先や検証機でちょっとした設定ファイルを編集する機会が多く、USBメモリにNeovim一式を入れておいたところ、インストール権限がない端末でも普段どおりの操作感で作業できて助かりました。ただしLSPやフォーマッタなど外部ツール依存の機能はほぼ使えないので、あくまで軽い編集用と割り切っています。
まとめ
NeovimはUSBメモリに本体と設定を入れておくだけでポータブル運用できます。起動時に-uで設定ファイルを明示すれば、インストール不要でどの端末でも同じ操作感を再現できます。