前提
これは振り返り記事である。私はNEETなので決断の負荷を増やしたく、以下の4つをやっていくことにした。
1, 何をやったか/何を作ったか
2, なぜそれをやったか(背景・目的・問題意識)
3, どう進めたか(優先順位など)
4, 結果はどうなったか(数字や感覚)
これはその記録
概要
VSCodeの起動に最大で28秒かかっていたが、Neovim移行で起動45ms.および、Neovimあるあるであるnormal mode移行のときにIMEをオフにするのを忘れてキ-操作がきかなくなることからskkeletonというneovimで日本語入力ができるようにするプラグインを導入することでIME問題を回避することに成功した。
何をやったか
nvim-kickstartというリポジトリを元にneovimに再入門した。
なぜそれをやったか
解決したかった問題としては
-
起動コストの増大: 開発を始めるまでに28秒待たされる心理的ハードル。
-
IME切り替えのストレス: 日本語入力と英数入力の切り替えによるコンテキストスイッチ。
-
マウス依存からの脱却: ホームポジションを崩さず、キーボードのみで思考の速度でコードを書きたい。
がある。VSCodeでもneovim拡張機能を使っていたが、本物が使いたくなった。
どう進めたか
基盤
ベ-スとして前述のとおりnvim-kickstartを採用した。
それに対してREADMEとブログに解説を載せる形で実行した。またデフォルトにないプラグインとしてmini.nvimシリ-ズ(mini.file, mini.tabline, mini.starter等)を導入して軽量性を保った。
日本語入力
今回のこだわりの一つ。日本語入力としてdenops.vim+skkeletonを導入することでOSのIMEを切り替えることなく、エディタ内でシ-ムレスに日本語入力を完結させている。
AI補完
- Github Copilot連携:
Copilot.luaとblink-cmp-copilotを組み合わせ、最新のAI補完を統合
プラグイン管理
lazy.nvimを使い、プラグインごとにファイルを分割して管理
苦労した点
skkeletonの設定には苦労した。先人のdotfilesを見て、自分の環境に最適化しました。
結果どうなったか
移行後の定量的な成果
| 環境 | 起動時間(平均) |
|---|---|
| VS Code | 約 28,000 ms |
| Neovim (今回構築) | 約 45.2 ms |
約600倍の高速化を達成した。
定性的な変化
- 集中力の維持: IMEの切り替えストレスが「消滅」し、日本語のドキュメント作成とコード記述が地続きになった。
- メンテナンス性の向上: モジュール化により、新しいプラグインの試行錯誤が圧倒的に楽になった。
まとめ
「道具を自分で育てる」というプロセスそのものが、エンジニアとしての生産性向上に寄与していると実感している。
今後は、まだ構築できていない言語ごとのデバッグ環境(DAP)などを整備し、さらに盤石な環境を目指そうと思う。