
Yazi + Neovim で完全 IDE 化 — ファイルツリーとコードジャンプを手に入れる
はじめに
前回の Vol.1 では、cmux のペイン分割・組み込みブラウザ・lazygit で日常開発の 8 割をターミナルに収めました。
残りの 2 割は「ファイルツリーで全体構造を把握したい」「定義元にジャンプしたい」——つまり IDE としての機能です。この記事では、ファイラー Yazi とエディタ Neovim(LazyVim)を加えて、VSCode と同等の環境をターミナルだけで構築します。
前提として、導入記事と Vol.1 を完了済み、Nerd Font インストール済みとします。
今回の完成形
最終的に目指すのは、以下の 3 ペイン IDE レイアウトです。
┌─────────────┬──────────────────────────────┐
│ │ │
│ Yazi │ Neovim (LazyVim) │
│ ファイラー │ コード編集 + LSP │
│ プレビュー │ │
│ ├──────────────────────────────┤
│ │ │
│ │ Claude Code │
│ │ AI コーディング │
│ │ │
└─────────────┴──────────────────────────────┘
- 左ペイン: Yazi(ファイルツリー + プレビュー)
- 右上ペイン: Neovim(コード編集、定義ジャンプ、補完)
- 右下ペイン: Claude Code(AI コーディング)
lazygit は必要なときに別ペインか Neovim 内から起動します。

Part 1: Yazi でファイルツリーを手に入れる
Yazi は Rust 製のターミナルファイラーです。Vim ライクなキーバインドで操作でき、コードや画像のプレビューも表示できます。VSCode のサイドバーに相当する存在です。
インストール
brew install yazi ffmpegthumbnailer poppler
プロジェクトディレクトリで yazi と打てば、3 カラム構成(親ディレクトリ / カレント / プレビュー)でファイルが一覧表示されます。
基本操作
Vim に触れたことがあれば、ほぼ直感で操作できます。
| キー | 操作 |
|---|---|
j / k | カーソル移動 |
l / Enter | ディレクトリに入る / ファイルを開く |
h | 親ディレクトリに戻る |
Space | 選択 / 解除 |
/ | 検索 |
q | 終了 |
カーソルを合わせるだけで右カラムにプレビューが表示されます。コードならシンタックスハイライト付き、画像ならサムネイル。ファイルを開かなくても中身が分かるので、プロジェクト全体の把握が速くなります。
カスタマイズ
設定ファイルは ~/.config/yazi/yazi.toml です。
# ~/.config/yazi/yazi.toml
[manager]
show_hidden = true
sort_by = "natural"
sort_dir_first = true
テーマは Catppuccin Mocha を入れておくと、Neovim や lazygit と統一できます。
ya pack -a yazi-rs/flavors:catppuccin-mochaPart 2: Neovim でコード編集を本格化する
なぜ Neovim なのか
Claude Code にコードを書かせていて、「定義元を見たい」「プロジェクト全体を検索したい」と思う場面は多いはずです。Neovim は LSP をネイティブサポートしており、定義ジャンプ・参照検索・コード補完がターミナル内で動きます。
素の Neovim は設定が大変なので、LazyVim を使います。Neovim のプラグインプリセットで、インストールした瞬間から VSCode に近い操作感が手に入ります。
インストール
# Neovim をインストール
brew install neovim
# LazyVim スターターをクローン
git clone https://github.com/LazyVim/starter ~/.config/nvim
# git 履歴は不要なので削除
rm -rf ~/.config/nvim/.git
初回起動時(nvim)にプラグインが自動インストールされます。1〜2 分待ち、完了したら q で閉じて再起動すれば準備完了です。
VSCode ユーザー向け操作対照表
Space キーがリーダーキー(VSCode の ⌘ ⇧ P に相当)です。押すと操作メニューが表示されます。
| VSCode の操作 | LazyVim のキー | 説明 |
|---|---|---|
⌘ P (ファイルを開く) | Space f f | Telescope ファイル検索 |
⌘ ⇧ F (全文検索) | Space s g | Telescope grep 検索 |
F12 (定義に移動) | g d | Go to Definition |
⇧ F12 (参照を検索) | g r | Go to References |
⌃ Space (補完) | 自動 | nvim-cmp が自動起動 |
⌘ ⇧ E (サイドバー) | Yazi ペイン | cmux のペインで代替 |
⌘ B (サイドバー切替) | ⌃ H | Yazi ペインにフォーカス |
| ターミナル切替 | ⌃ J / ⌃ K | cmux のペイン移動 |
まずは Space f f、g d、Space s g の 3 つだけ覚えれば十分です。
LSP の設定
LazyVim Extras で使用言語のサポートを有効にします。:Mason で LSP サーバーの管理も可能です。
-- ~/.config/nvim/lua/plugins/extras.lua
return {
{ import = "lazyvim.plugins.extras.lang.typescript" },
{ import = "lazyvim.plugins.extras.lang.json" },
{ import = "lazyvim.plugins.extras.lang.python" },
{ import = "lazyvim.plugins.extras.lang.go" },
{ import = "lazyvim.plugins.extras.lang.rust" },
{ import = "lazyvim.plugins.extras.lang.tailwind" },
}
保存して再起動すれば、各言語の LSP サーバーが自動インストールされます。
Part 3: IDE レイアウトを組み上げる
cmux で 3 ペイン IDE を構築
パーツが揃ったので、IDE レイアウトを組み立てます。
⌘ Dで右にペイン分割- 左ペインで
yaziを起動 - 右ペインにフォーカスして
⌘ ⇧ Dで下に分割 - 右上ペインで
nvim .を起動 - 右下ペインで
claudeを起動 - 左ペインの境界線をドラッグして幅を 25% 程度に調整
ペイン間の移動
ペイン間の移動は Vim ライクなキーバインドです。
| ショートカット | 移動先 |
|---|---|
⌃ H | 左のペイン |
⌃ J | 下のペイン |
⌃ K | 上のペイン |
⌃ L | 右のペイン |
この 4 つで Yazi・Neovim・Claude Code を自由に行き来できます。
実践ワークフロー
- Yazi でファイルを選んで
Enterで開く - Neovim で
g dで定義ジャンプ、Space s gで検索 - Claude Code に「この関数をリファクタリングして」と指示
- Claude がファイルを変更 → Neovim が自動で再読み込み
- lazygit でコミット
ファイル閲覧、コード編集、AI への指示、コミットまで同じウィンドウで完結します。
yazi.nvim: Neovim 内で Yazi を呼び出す(発展)
cmux のペインとは別に、Neovim 内のフローティングウィンドウとして Yazi を開くこともできます。
-- ~/.config/nvim/lua/plugins/yazi.lua
return {
{
"mikavilpas/yazi.nvim",
event = "VeryLazy",
keys = {
{ "<leader>e", "<cmd>Yazi<cr>", desc = "Open Yazi" },
},
opts = { open_for_directories = true },
},
}
Space e で Yazi が開き、ファイルを選ぶとそのまま Neovim のバッファで開かれます。
テーマを統一する — Catppuccin Mocha
全ツールの配色を Catppuccin Mocha に統一すると、ペイン間の視覚的な断絶がなくなります。
| ツール | 設定方法 |
|---|---|
| Ghostty | ~/.config/ghostty/config に theme = catppuccin-mocha |
| Neovim | colorscheme.lua で catppuccin を指定 |
| Yazi | ya pack -a yazi-rs/flavors:catppuccin-mocha(設定済み) |
| lazygit | ~/.config/lazygit/config.yml で lightTheme: false |
Neovim の設定ファイルだけ載せておきます。
-- ~/.config/nvim/lua/plugins/colorscheme.lua
return {
{
"catppuccin/nvim",
name = "catppuccin",
opts = { flavour = "mocha" },
},
{
"LazyVim/LazyVim",
opts = { colorscheme = "catppuccin" },
},
}
まとめ — VSCode を閉じてみよう
VSCode の主要機能はすべてターミナルで代替できるようになりました。
| VSCode の機能 | ターミナル IDE の対応 |
|---|---|
| サイドバー(ファイルツリー) | Yazi |
| エディタ | Neovim + LazyVim |
| 統合ターミナル | cmux ペイン |
| ソース管理 | lazygit |
| GitHub Copilot | Claude Code |
| ブラウザプレビュー | cmux 組み込みブラウザ |
| 拡張機能 | Neovim プラグイン + Mason |
いきなり VSCode を捨てる必要はありません。まずは Yazi でファイルを眺めて、Neovim で g d を数回押してみてください。キーボードだけで完結するスピード感が体験できます。
Neovim の設定が複雑すぎると感じる方には、設定不要で LSP が動く Helix も代替候補です(キーバインドは Kakoune ベースで Vim とは異なります)。
次回の Vol.3 では、ここまで構築した環境をワンコマンドで再現できるスクリプト化と、プロジェクトごとの設定管理について扱います。