※本記事の作成にあたっては、構成の整理や執筆の補助としてLLM(AI)を使用しています。
この記事は、以前投稿した「【まずはこれだけ覚えよう】Neovim超初学者向けチートシート」の続編です。
📌 はじめに
「Neovimでファイルを編集できるようになったけど、結局AI(Claude Codeなど)を使うときはVS Codeを開いて作業しているな...」「いちいちマウスを使ってファイルパスをコピーして、ターミナルに貼り付けるのが面倒だな...」そんな経験はありませんか?
前回の記事では、Neovimの基本的な操作や、ファイルエクスプローラー(neo-treeなど)の開き方を紹介しました。
今回はその続編として、**「VS Codeを開かなくても、キーボード操作だけでテキスト編集、ファイルエクスプローラー、AI(Claude Code)との対話が1つのターミナル画面で完結する環境」**を作ってみましょう。
マウスを一切触らず、キーボードだけでコードの修正からAIへの指示までが完結するようになると、開発のテンポがとても良くなります。
💡 実現したい画面イメージ
今回の設定を行うと、ターミナル(WezTermやtmux)の画面を以下のように分割して作業できるようになります。
- 左ペイン(エディタ): Neovimでコードを編集したり、neo-treeでファイルを探します。
- 右ペイン(AI): Claude Code CLIを起動しておき、AIにコードレビューやバグの修正を依頼します。
🛠️ 環境構築手順(10分)
この環境を構築するために、以下の3つのツールを用意します。
- Neovim(前回の記事に沿って導入したもの)
- WezTerm または tmux(画面を分割するターミナル環境)
- Claude Code CLI(Anthropic公式のAIツール)
Step 1: Claude Code CLIのインストール
Node.jsがインストールされている環境で、ターミナルで以下のコマンドを実行します。
npm install -g @anthropic-ai/claude-code-cli
インストールが終わったら、一度ログインを済ませておきましょう。
claude
画面の指示に従って認証を行うと、ターミナルでClaudeと対話できるようになります。
Step 2: Neovimに「パスをコピーする」キーバインドを追加する
Neovimで開いているファイルの絶対パスを、キーボード操作だけでシステムクリップボードにコピーできるようにします。
Neovimの設定ファイル(LazyVimの場合は ~/.config/nvim/lua/config/keymaps.lua、または通常のNeovimの場合は ~/.config/nvim/init.lua)を開き、末尾に以下の設定を追加します。
-- 現在開いているファイルのフルパスをシステムクリップボードにコピー(\cp キー)
vim.keymap.set('n', '<leader>cp', function()
local filepath = vim.fn.expand('%:p')
vim.fn.setreg('+', filepath) -- '+' レジスタでシステムクリップボードに流す
vim.notify('Copied: ' .. filepath, vim.log.levels.INFO)
end, { noremap = true, silent = true, desc = 'Copy file path to clipboard' })
-- ファイルエクスプローラー(netrw)でも使えるようにする設定
vim.api.nvim_create_autocmd('FileType', {
pattern = 'netrw',
callback = function()
vim.keymap.set('n', '<leader>cp', function()
local filepath = vim.fn.expand('%:p')
vim.fn.setreg('+', filepath)
vim.notify('Copied: ' .. filepath, vim.log.levels.INFO)
end, { noremap = true, silent = true, buffer = true })
end,
})
💡 ポイント:
-
<leader>キー(初期設定では\やスペース)を押した後にcキー、続いてpキー(Copy Pathの略)を順に押すことで、クリップボードにパスがコピーされます。 - コピーに成功すると、画面右下などに「Copied: /Users/...」と綺麗な通知が表示されるため、正しくコピーできたかどうかが一目で分かります。
Step 3: ターミナルでペインを左右に分割する
お使いのターミナル環境に合わせて、画面を分割してNeovimとClaudeを並べます。
パターンA:tmux を使用する場合
ターミナルで以下を実行し、セッションを起動して画面を分割します。
# セッションを作成して nvim を起動
tmux new-session -s dev-session -d
tmux send-keys -t dev-session "nvim ." Enter
# 右側に40%のサイズでターミナルペインを分割して作成
tmux split-window -h -p 40 -t dev-session
# セッションに入る
tmux attach-session -t dev-session
パターンB:WezTerm を使用する場合
WezTermをお使いの場合は、標準 of 画面分割機能を利用できます。
-
Cmd+dキー(またはCmd+Shift+dキーなど、お使いの設定による)を押して、画面を右側に分割します。 - 片方で
nvim .を起動し、もう片方のペインで作業用のシェルを開いておきます。
📖 日常の開発で使ってみよう
実際にこの環境を使って、キーボードだけで開発を進める際の手順を紹介します。
🔄 パターン1:コードのレビューと修正のループ
「src/utils.js のコードをAIに見てもらい、指摘された箇所をエディタで修正する」というケースです。
- **左ペイン(Neovim)**で、エクスプローラー(neo-treeなど)から
src/utils.jsを選択して開きます。 - ノーマルモードで
\キー(またはスペースキー)を押した後に、すぐにcキー、続いてpキー を押します。- 画面の下部に「Copied: /path/to/src/utils.js」と表示されればコピー成功です。
-
Ctrl+bキー を押した後に、oキー を押して右ペイン(ターミナル)へ移動します(WezTermの場合はCmd+Option+矢印キーなどでペインを切り替えます)。 - 右ペインで
claude code reviewと入力した後に、貼り付け(Cmd+vまたは tmuxのCtrl+bに続いて]キー)を行います。- コマンドラインに
claude code review /path/to/src/utils.jsと入力されるので、Enterキーを押して実行します。
- コマンドラインに
- AIからの「〇〇行目のエラー処理がありません」といったレビュー結果を右画面で確認します。
- 再びペインを左側のNeovimに戻し、指摘された箇所をキーボードで修正して、
:wで保存します。 - 右ペインに戻り、キーボードの
↑キー(または!!)を押して、先ほど実行したレビューコマンドをもう一度実行します。指摘事項がなくなるまでこれを繰り返します。
🧪 パターン2:テストコードを自動で書いてもらう
「現在開いている機能のテストコードをAIに自動生成してもらう」というケースです。
- 左ペイン(Neovim)でテストを作りたいファイルを開き、
\cpでファイルパスをコピーします。 - 右ペインに移動して、以下のようにコマンドを入力し、ペーストして実行します。
claude test <パスをペースト> --output tests/utils.test.js - 左ペインに戻り、エクスプローラーから生成された
tests/utils.test.jsを開いて内容を確認します。 - 別のウィンドウやペインで
npm testを動かして確認します。
📝 パターン3:Markdownの執筆と確認
「ドキュメント(README.mdなど)を書きながら、AIのレビュー結果やプレビューを確認する」というケースです。
- 左ペイン(Neovim)で
README.mdを書き進めます。 - パスをコピーして右ペインのClaudeに渡し、ドキュメントの表現がおかしくないかレビューしてもらいます。
- レンダリング結果をターミナル上で見たい場合は、右ペイン(または別のペイン)で
glow(ターミナル用のMarkdown表示ツール)を実行して確認します。# まだインストールしていない場合 brew install glow # プレビューを表示 glow <パスをペースト>
⌨️ これだけ覚えよう!キーバインド一覧
今回のワークフローでよく使う、キーボード操作用のショートカット一覧です。
1. Neovim(左ペイン)
| キー操作 | 動作 | 説明 |
|---|---|---|
<leader>e |
neo-treeを開く・閉じる | エクスプローラーの表示切り替え(※前回紹介) |
\cp(または Space+cp) |
ファイルパスをコピー | 現在開いているファイルの絶対パスをクリップボードに保存します |
:w |
保存 | 保存することで、右ペインのAIが最新のコードを読み込めるようになります |
:e <ファイルパス> |
指定したファイルを開く | コピーしたパスを貼り付けて別のファイルを直接開くときにも便利です |
2. 画面分割・切り替え(WezTerm / tmux)
| 操作対象 | キー操作 | 説明 |
|---|---|---|
| ペインの移動 |
Ctrl+B のあとに o (tmux) Cmd+Option+矢印キー (WezTerm) |
左右のペイン(エディタ ↔ ターミナル)を切り替えます |
| 貼り付け |
Ctrl+B のあとに ] (tmux) Cmd+v (WezTerm) |
コピーしたファイルパスを貼り付けます |
| ペインの最大化 |
Ctrl+B のあとに z (tmux) |
AIの出力結果が長くて見にくい時に、一時的に全画面化します |
| 窓の作成 |
Ctrl+B のあとに c (tmux) |
テストの監視やサーバー起動用など、新しい画面を作成します |
3. Claude Code CLI(右ペイン)
| コマンド | 役割 | 使用例 |
|---|---|---|
claude code review <path> |
コードのレビュー | claude code review src/utils.js |
claude code fix <path> |
潜在的なバグの修正 | claude code fix src/utils.js |
claude explain <path> |
コードの動作解説 | claude explain complex-logic.py |
claude test <path> |
単体テストコードの生成 |
--output で書き出し先ファイルを指定できます |
💡 さらに快適にするための小ワザ
コマンド履歴(!! や !claude)を活用する
右ペインのターミナルで、直前に実行したコマンドを再度実行したいときは !! と入力してEnterキーを押すだけで実行できます。
また、いくつか別のコマンドを実行した後に、再度Claudeのコマンドを呼び出したいときは !claude と入力すると、履歴にある最後の claude から始まるコマンドが実行されるため、キーを叩く回数をさらに減らせます。
🎯 まとめ
VS Codeの便利な「画面分割 & AIチャット連携」を、ターミナル上(Neovim + WezTerm/tmux + Claude Code)でシンプルかつ軽量に再現する方法を紹介しました。
この環境の最大のメリットは、**「マウス操作による思考の分断を防ぎ、キーボードのタイピングだけで開発のリズムを維持できること」**にあります。
設定自体はNeovimのキーマップを1箇所追加するだけで簡単に始められます。前回のチートシートを覚えた方は、ぜひこのステップアップとして環境を整え、快適なキーボード完結ライフを体験してみてください!
Happy coding! 🚀