VSCodeユーザーがVimに移行する方法(vscode-neovim / Neovide)
普段VSCodeを使っている人がいきなりターミナルのVimに飛び込むと、GUIのファイルツリーやタブ、拡張機能のエコシステムを手放すことになり心理的なハードルが高くなります。段階的にVimの操作を取り入れられる選択肢を知っておくと、移行のハードルがぐっと下がります。
目次(8項目)
選択肢1:VSCode + vscode-neovim拡張機能
VSCodeの見た目・拡張機能・デバッガはそのまま使いつつ、編集エンジンだけを本物のNeovimに置き換える拡張機能です。VSCode単体のVimエミュレーション拡張(Vim/VSCodeVim)と違い、実際のNeovimプロセスをバックグラウンドで動かして本物のキー操作・プラグインを扱えるのが特徴です。
| 比較軸 | vscode-neovim | VSCodeVim(エミュレーション) |
|---|---|---|
| 編集エンジン | 本物のNeovim | VSCode拡張機能によるVim再現 |
| Vim scriptプラグイン | 多くがそのまま動く | 動かないものが多い |
| VSCodeの機能 | ほぼそのまま使える | そのまま使える |
いきなり全部の設定を持ち込む必要はなく、まずはノーマルモードでの移動・編集操作だけを試すところから始めれば十分です。慣れてきたら手元のinit.vim/init.luaの設定を少しずつ持ち込んでいけます。
選択肢2:Neovide(Neovim専用のモダンGUI)
VSCodeから完全に離れて、Neovim単体をGUIアプリとして使いたい場合はNeovideが候補になります。滑らかなカーソルアニメーションやリガチャ表示など、GUIならではの見た目の快適さを備えたNeovimクライアントで、近年人気が高まっています。
winget install -e --id Neovide.Neovide
中身はlazy.nvimベースの構成と組み合わせれば、LSP補完・ファジーファインダー・ファイルツリーなど、IDEに近い機能一式を揃えられます。VSCodeの拡張機能エコシステムをそのまま使いたいわけではなく、Vim/Neovimの世界に完全移行したい人に向いています。
段階的な移行の進め方
- まずVSCode + vscode-neovimで、Vimのモード操作・基本的なテキストオブジェクトに慣れます
- 手元の設定ファイルを少しずつ育てながら、Vim独自の編集速度を体感します
- VSCodeの拡張機能への依存が減ってきたら、Neovide(またはターミナル版Neovim)への完全移行を検討します
一気に乗り換える必要はなく、VSCodeを使いながらVimの操作感だけ先取りする、という段階を踏めるのがこの2つの選択肢の強みです。
チームの標準エディタがVSCodeだったため、いきなりターミナルVimに移るのは現実的ではなく、まずvscode-neovimでモード操作に慣れるところから始めました。数か月かけてVim scriptのプラグインを個人設定に持ち込むうちに、自然とNeovide単体でも困らなくなっていきました。
移行の途中でつまずくところ
拡張機能を入れた直後に困るのが、キーの取り合いです。VSCode側のショートカットとNeovim側のマッピングが同じキーに割り当たっていると、どちらが動くか分からなくなります。Ctrl-f(VSCodeでは検索、Vimでは画面送り)あたりが典型です。
どちらを優先するかは keybindings.json の when 節で決めます。Vimに寄せるならNeovim側に渡す設定を、VSCodeに寄せるならVim側のマッピングを外す設定を書きます。全部を決める必要はなく、実際に困ったキーだけを1つずつ直していけば足ります。
もう1つは機能の二重化です。ファイル検索も補完もLSPも、VSCodeとNeovimの両方が持っています。両方を有効にすると候補が二重に出るので、どちらに任せるかを決めておくほうが快適になります。
先に入れておくと楽になる設定
移行の最初にいちばん効くのは、日本語入力の切り替えです。挿入モードを抜けたときに自動でIMEをオフにしないと、ノーマルモードで打ったキーが変換候補になります。
次に効くのが、Esc の代わりのキーです。ホームポジションから遠いので、jj や Ctrl-[ を使う人が多くいます。Ctrl-[ は設定なしで最初から Esc と同じ働きをするので、まずはこちらを試してみてください。
戻れる状態を保つ
移行を試すときは、いつでも元に戻せるようにしておくと気楽に進められます。VSCodeの拡張機能は無効化するだけで元のキー操作に戻りますし、設定ファイルをgitで管理しておけば、変えすぎた設定も戻せます。
締め切りのある作業の直前に移行を始めるのはおすすめしません。慣れるまでは確実に手が遅くなるので、余裕のある時期に少しずつ切り替えて、詰まったら一度戻る、という進め方のほうが結局は早く身につきます。
まとめ
VSCodeの機能を保ったままVim操作を試したいならvscode-neovim、GUIのままNeovimに完全移行したいならNeovideが現在の代表的な選択肢です。段階的に移行できるので、いきなりターミナル一本に絞る必要はありません。