0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【続・まずはこれだけ覚えよう】Neovim + Claude Codeで実現する、VS Code不要の「キーボード完結」開発フロー

0
Last updated at Posted at 2026-07-05

※本記事の作成にあたっては、構成の整理や執筆の補助として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つのツールを用意します。

  1. Neovim(前回の記事に沿って導入したもの)
  2. WezTerm または tmux(画面を分割するターミナル環境)
  3. 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に見てもらい、指摘された箇所をエディタで修正する」というケースです。

  1. **左ペイン(Neovim)**で、エクスプローラー(neo-treeなど)から src/utils.js を選択して開きます。
  2. ノーマルモードで \ キー(またはスペースキー)を押した後に、すぐに cキー、続いて pキー を押します。
    • 画面の下部に「Copied: /path/to/src/utils.js」と表示されればコピー成功です。
  3. Ctrl + b キー を押した後に、o キー を押して右ペイン(ターミナル)へ移動します(WezTermの場合は Cmd + Option + 矢印 キーなどでペインを切り替えます)。
  4. 右ペインで claude code review と入力した後に、貼り付け(Cmd + v または tmuxの Ctrl + b に続いて ] キー)を行います。
    • コマンドラインに claude code review /path/to/src/utils.js と入力されるので、Enterキーを押して実行します。
  5. AIからの「〇〇行目のエラー処理がありません」といったレビュー結果を右画面で確認します。
  6. 再びペインを左側のNeovimに戻し、指摘された箇所をキーボードで修正して、:w で保存します。
  7. 右ペインに戻り、キーボードの ↑ キー(または !!)を押して、先ほど実行したレビューコマンドをもう一度実行します。指摘事項がなくなるまでこれを繰り返します。

🧪 パターン2:テストコードを自動で書いてもらう

「現在開いている機能のテストコードをAIに自動生成してもらう」というケースです。

  1. 左ペイン(Neovim)でテストを作りたいファイルを開き、\cp でファイルパスをコピーします。
  2. 右ペインに移動して、以下のようにコマンドを入力し、ペーストして実行します。
    claude test <パスをペースト> --output tests/utils.test.js
    
  3. 左ペインに戻り、エクスプローラーから生成された tests/utils.test.js を開いて内容を確認します。
  4. 別のウィンドウやペインで npm test を動かして確認します。

📝 パターン3:Markdownの執筆と確認

「ドキュメント(README.mdなど)を書きながら、AIのレビュー結果やプレビューを確認する」というケースです。

  1. 左ペイン(Neovim)で README.md を書き進めます。
  2. パスをコピーして右ペインのClaudeに渡し、ドキュメントの表現がおかしくないかレビューしてもらいます。
  3. レンダリング結果をターミナル上で見たい場合は、右ペイン(または別のペイン)で 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! 🚀

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?