なぜ作ろうと思ったのか
なぜ作ろうと思ったかというと、自分の設定ファイルが出来上がってきたかなって思ったからです。AIと一緒にneovimの設定をしていたのですが、このうちの思想が詰まった設定ファイルディストロにして公開したら面白そうじゃね?と思ったからです。
いまさら感あるかもしれませんが、この記事に最後までお付き合いいただけたら幸いです。
NazoVimの使い方
NazoVimはneovimのディストロもどきです。プラグインマネージャーはLazy.nvimを使っています。

インストール方法
方法1 nixの環境で試しに使ってみる
このneovimディストロはnixを使って、本来の設定を汚さずに、NazoVimを試しに使ってみることができます。
nix run github:nazozokc/NazoVim
方法2 本気でこのディストロを使う
本気でこのディストロを使う場合はgit cloneを使用します。
mv ~/.config/nvim ~/.config/nvim.backup # バックアップ(任意)
git clone https://github.com/nazozokc/NazoVim ~/.config/nvim
nvim
ディレクトリ構成
.
├── flake.nix # Nix flake (nix run / nix develop)
├── init.lua # エントリーポイント・キーマップ定義
├── lazy-lock.json # プラグインバージョンロック
├── lua/
│ ├── vim-options.lua # 基本vim設定
│ ├── plugins.lua # lazy.nvim エントリ (空 = plugins/ 以下を自動読み込み)
│ └── plugins/ # プラグイン設定 (1ファイル1プラグイン)
├── template/ # ファイルテンプレート
│ ├── js/
│ ├── ts/
│ ├── lua/
│ ├── md/
│ └── project/
└── .github/
├── workflows/ # CI (nvim startup check / auto-merge)
└── ISSUE_TEMPLATE/ # Bug report / Feature request / Plugin proposal
キーバインディング
NazoVimのキーバインディングは以下のようになっています。
<Leader> = Space
基本
| キー |
動作 |
<Leader><Leader> |
ファイル検索 (snacks Picker) |
<Leader>g |
Live Grep |
<Leader>b |
バッファ一覧 |
<Leader>r |
最近使ったファイル |
<Leader>h |
検索ハイライト解除 |
<Leader>z |
Zen mode |
<Leader>m |
Oil ファイルエクスプローラー |
<Leader>n |
Neo-tree |
<Leader>t |
フローティングターミナル |
<Leader>f |
フォーマット |
LSP
| キー |
動作 |
K |
ホバー |
gd |
定義へ移動 |
ga |
コードアクション (Lspsaga) |
<Leader>ca |
コードアクション (preview) |
<Leader>gd |
定義へ移動 |
<Leader>gr |
参照一覧 |
<Leader>oi |
Import整理 (TS) |
<Leader>ru |
未使用削除 (TS) |
Treesitter Textobjects
| キー |
動作 |
af / if |
outer / inner 関数 |
ac / ic |
outer / inner クラス |
aa / ia |
outer / inner 引数 |
ai / ii |
outer / inner 条件分岐 |
al / il |
outer / inner ループ |
ab / ib |
outer / inner ブロック |
]f / [f |
次/前の関数へジャンプ |
]c / [c |
次/前のクラスへジャンプ |
]a / [a |
次/前の引数へジャンプ |
<Leader>sn |
次の引数と swap |
<Leader>sp |
前の引数と swap |
Git
| キー |
動作 |
<Leader>gd |
DiffviewOpen |
<Leader>gh |
ファイル履歴 |
<Leader>gH |
ブランチ履歴 |
<Leader>gc |
Diffview Close |
<Leader>gp |
Hunkプレビュー |
<Leader>gt |
Blame toggle |
セッション
| キー |
動作 |
<Leader>qs |
セッション復元 |
<Leader>qS |
セッション選択 |
<Leader>ql |
最後のセッションを復元 |
<Leader>qd |
セッション保存を停止 |
AI
| キー |
動作 |
<Leader>ac |
Claude Code toggle |
<Leader>af |
Claude Code focus |
<Leader>ab |
現在バッファを追加 |
<C-a> |
opencode ask |
<C-x> |
opencode select action |
<C-.> |
opencode toggle |
DAP
| キー |
動作 |
<F5> |
実行 / 継続 |
<F10> |
ステップオーバー |
<F11> |
ステップイン |
<F12> |
ステップアウト |
<Leader>db |
ブレークポイント切替 |
<Leader>du |
DAP UI toggle |
テスト
| キー |
動作 |
<leader>tr |
最寄りのテスト実行 |
<leader>tR |
全テスト実行 |
<leader>tf |
ファイルのテスト実行 |
<leader>to |
テスト出力 toggle |
ウィンドウ / バッファ
| キー |
動作 |
<C-h/j/k/l> |
ウィンドウ移動 (tmux対応) |
<C-PageDown/Up> |
バッファ切替 |
<C-t> |
新規バッファ |
<C-q> |
バッファを閉じる |
プラグイン
プラグインは以下です。
LSP / 補完
| プラグイン |
用途 |
| nvim-lspconfig + mason |
LSP管理 |
| typescript-tools.nvim |
TypeScript専用LSP(高速化設定済み) |
| nvim-cmp |
補完エンジン |
| LuaSnip + denippet.vim |
スニペット(VSCode互換) |
| lspsaga.nvim |
LSP UI拡張 |
| actions-preview.nvim |
コードアクションプレビュー |
| conform.nvim |
フォーマッター(stylua / prettier等) |
| none-ls.nvim |
rubocop等の追加診断 |
| fidget.nvim |
LSPプログレス表示 |
| tiny-inline-diagnostic.nvim |
インライン診断 |
| lazydev.nvim |
Lua/Neovim API の補完・型チェック強化 |
Fuzzy Finder / ナビゲーション
| プラグイン |
用途 |
| snacks.nvim |
Picker / Dashboard / Zen / Words / Session |
| telescope.nvim |
ファジーファインダー(サブ) |
| oil.nvim |
バッファベースのファイルエクスプローラー |
| neo-tree.nvim |
ツリー形式ファイルエクスプローラー |
| yazi.nvim |
yaziファイルマネージャー統合 |
| dropbar.nvim |
Winbar / パンくずリスト |
| flash.nvim |
ジャンプ(<CR> でスマートジャンプ) |
| aerial.nvim |
シンボルアウトライン |
| project.nvim |
プロジェクトルート自動検出 |
UI / 見た目
| プラグイン |
用途 |
| kanagawa.nvim |
カラースキーム(dragon + 透明) |
| lualine.nvim |
ステータスライン |
| barbar.nvim |
タブバー |
| noice.nvim |
コマンドラインUI / 通知 |
| nvim-notify |
通知システム |
| nvim-scrollbar / satellite.nvim |
スクロールバー |
| modes.nvim |
モード別カーソル色変化 |
| nvim-illuminate |
カーソル下シンボルのハイライト |
| incline.nvim |
フローティングファイル名 |
| todo-comments.nvim |
TODO/FIXME等のハイライト |
| render-markdown.nvim |
Markdownのリッチレンダリング |
| nvim-highlight-colors |
カラーコードのインラインプレビュー |
Git
| プラグイン |
用途 |
| gitsigns.nvim |
Git差分サインカラム |
| diffview.nvim |
差分ビュー / ファイル履歴 |
| lazygit.nvim |
LazyGit統合 |
| vim-fugitive |
Git操作 |
| octo.nvim |
GitHub Issue / PR / Notification 操作 |
エディタ機能
| プラグイン |
用途 |
| nvim-treesitter |
シンタックスハイライト / インデント |
| nvim-treesitter-textobjects |
関数・クラス・引数単位のテキストオブジェクト |
| nvim-autopairs |
括弧自動補完 |
| mini.ai / surround / comment |
テキストオブジェクト・Surround・コメント |
| nvim-spider |
CamelCase/snake_case対応 w/e/b |
| substitute.nvim |
レジスタを使った置換 |
| dial.nvim |
<C-a>/<C-x> の拡張インクリメント |
| which-key.nvim |
キーマップヘルプ |
| toggleterm.nvim |
フローティングターミナル |
| kulala.nvim |
REST client (.http ファイル) |
| persistence.nvim |
セッション管理 |
AI統合
| プラグイン |
用途 |
| claudecode.nvim |
Claude Code統合 |
| opencode.nvim |
opencode統合 |
| CopilotChat.nvim |
GitHub Copilot Chat |
| copilot.lua |
GitHub Copilot補完 |
デバッグ / テスト
| プラグイン |
用途 |
| nvim-dap + nvim-dap-ui |
デバッガー |
| nvim-dap-vscode-js |
JS/TS デバッグアダプタ |
| neotest |
テストランナー |
| neotest-jest / vitest / playwright |
テストアダプタ |
| nvim-coverage |
カバレッジ表示 |
まとめ
ぜひ一度使ってみてください!issueやPRはもう大歓迎です!!!!
https://github.com/nazozokc/NazoVim