claudecode.nvimのおすすめ設定
WezTerm + Neovim環境でClaude Codeを使う際、
Neovim内で直接連携できるclaudecode.nvimが便利だったので、いくつか調整したポイントを紹介します。
前提環境
| カテゴリ | ツール | バージョン |
|---|---|---|
| エディタ | Neovim (LazyVim) | v0.11.2 |
| ターミナル | WezTerm | 20251014 |
WezTermでNeovimを開き、別paneでClaude Codeを起動する構成です。
設定例
記事で紹介する内容を反映した、完全な設定ファイルです。
lua/plugins/claudecode.lua(クリックで展開)
-- lua/plugins/claudecode.lua
return {
"coder/claudecode.nvim",
dependencies = { "folke/snacks.nvim" },
lazy = false,
priority = 1000,
opts = {
-- Claude Code CLIのパス(環境に合わせて変更)
terminal_cmd = "/path/to/claude --ide",
auto_start = true,
-- ターミナル設定
terminal = {
provider = "none", -- 外部ターミナル運用(WezTermで手動起動)
},
-- diff表示設定
diff_opts = {
open_in_new_tab = true, -- 新規タブでdiffを開く
},
},
-- キーバインド
keys = {
-- バッファ送信
{ "<leader>ab", "<cmd>ClaudeCodeAdd %<cr>", desc = "Add current buffer to Claude" },
-- 選択範囲送信
{ "<leader>as", "<cmd>ClaudeCodeSend<cr>", mode = "v", desc = "Send selection to Claude" },
-- oil.nvim連携
{
"<leader>at",
"<cmd>ClaudeCodeTreeAdd<cr>",
desc = "Add file from tree explorer",
ft = { "oil" },
},
},
}
調整したポイント

WezTerm内でNeovimとClaude Codeを並べて使用する構成
1) ターミナル問題: terminal.provider = "none"
claudecode.nvimがNeovim内でターミナルでClaude Codeを起動すると、長いレスポンスで動作が重くなることがありました。
そこで、WezTermの別PaneでClaude Codeを開くようにしました。
下記のようにproviderをnoneに設定することで、claudecode.nvim側でターミナル管理を無効化できます。
terminal = {
provider = "none", -- ターミナル管理を無効化
},
これでClaude CodeはWezTermの別Pane側で起動し、
WebSocket経由で自動接続されるようです。

外部ターミナル運用に切り替えることで、動作がスムーズになった
2) diff表示問題: open_in_new_tab = true
diffが既存バッファに割り込むと、ファイルの表示が崩れてしまうことがありました。
そこでdiff表示をNeovimの別タブで開くように設定しました。
diff_opts = {
open_in_new_tab = true, -- 新規タブでdiff
},
これで作業中のバッファを汚さず、タブ切り替えだけで比較できるようになった。
お気に入りキーバインド2選
Claudeと特定のファイル・範囲を指して議論するのに便利なキーバインドです。
<leader>ab - バッファ送信
開いているバッファをClaude Codeに送信。
{ "<leader>ab", "<cmd>ClaudeCodeAdd %<cr>", desc = "Add current buffer to Claude" },
<leader>as - 選択範囲送信
選択した範囲だけ送信(細かい指示向き)。
{ "<leader>as", "<cmd>ClaudeCodeSend<cr>", mode = "v", desc = "Send selection to Claude" },
oil.nvimとの連携
ファイルエクスプローラーとしてoil.nvimを使っています。
oil.nvimは、バッファをファイルエクスプローラーとして扱えるNeovimプラグインです。
ファイルやディレクトリをテキストのように操作できるのでとても気に入っています。
このoilとの連携もclaudecode.nvimはオプションを用意しており、
下記のように設定することで、 oilのカーソル上のファイルやディレクトリのPathがClaudeに送られます。
{
"<leader>at",
"<cmd>ClaudeCodeTreeAdd<cr>",
desc = "Add file from tree explorer",
ft = { "oil" },
},
oil.nvimでファイルを選択した状態で<leader>atを押すと、そのファイルパスをClaude Codeに送信できます。
ディレクトリ構造などについて、ファイルツリーの状態でClaudeと対話できるのがなかなか便利。
なぜNeovim + WezTermなのか
VSCodeやCursorなどのIDEではなく、Neovim + WezTermの組み合わせを使っている理由は、WezTermのcopy modeの存在が大きいです。
copy modeを使うと、Claudeの長い出力を遡ったり、必要な部分をコピーしたりする操作を、すべてキーボードだけで完結できます。

copy modeでClaude出力をキーボードだけでスクロール・コピーできる
マウスに手を伸ばす必要がないため、思考を中断せずにコードレビューや調査を続けられます。ターミナルベースの環境だからこそ、AI出力の扱いもエディタ操作と同じキーバインドで統一でき、ワークフローが途切れません。



