6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Tmux】Claude Code を popup で快適に使う

Last updated at Posted at 2025-12-01

最近、Claude Code を日常的に利用するようになりました。

私は普段 Vim を使用しており、画面を「左半分:ブラウザ」「右半分:ターミナル」に分割しています。
さらにターミナル側は、上 2/3 を Vim、残りの 1/3 を左右に分割してビルドやテストの実行に使用しています。

このレイアウトだと、Claude Code を常時表示させておくスペースがありません。そこで、tmux display-popup を活用して、必要なときだけ呼び出す運用にすることにしました。

要件

快適に使うために、以下の挙動を目指しました。

  • ディレクトリごとの管理: 複数のプロジェクト(ディレクトリ)を別々のウィンドウで開いているため、Claude Code のセッションもウィンドウ(ディレクトリ)ごとに独立させたい。
  • 高速な切り替え: キー操作一発で表示・非表示を行いたい。

やったこと

config.fish の設定

私はシェルに fish を使用しているため、config.fish に以下の関数を設定しました。

この関数のポイントは以下の通りです。

  1. カレントディレクトリ名をプレフィックスにしたセッション名(例: popup_projectA)を作成
  2. すでに該当のセッションが存在する場合は、それを呼び出す(アタッチする)
  3. すでに popup 内にいる状態で実行された場合は、popup を閉じる(デタッチする)
function tmuxpopup -d "toggle tmux popup window"
  set width '80%'
  set height '80%'
  
  # 現在のセッション名とカレントディレクトリを取得
  set session (tmux display-message -p -F "#{session_name}")
  set current_dir (basename (tmux display-message -p -F "#{pane_current_path}"))
  set popup_session "popup_$current_dir"
  
  # すでに popup セッション内にいる場合はデタッチ(閉じる)
  if string match -q "popup_*" $session
    tmux detach-client
  else
    # popup を表示。セッションがなければ新規作成、あればアタッチ
    tmux display-popup -d '#{pane_current_path}' -xC -yC -w$width -h$height -E "tmux attach -t $popup_session || tmux new -s $popup_session"
  end
end

.tmux.conf

tmux のキーバインド設定で、上記で作成した fish 関数を呼び出すようにします。 ここでは Ctrl + q に割り当てています。

# display-popup の設定
bind -n C-q run-shell "fish -c \"tmuxpopup\""

これにより、どのペインにいても Ctrl + q を押すだけで、そのディレクトリ専用の Claude Code 画面がポップアップし、もう一度押すと裏に隠れるようになります。

デモ

実際の挙動は以下の通りです。

display-popup-demo.gif

おまけ

今回はターミナル全体(tmux)の機能を使いたかったため display-popup を採用しましたが、Vim ユーザーであればプラグインの akinsho/toggleterm.nvim を使用する方法もあります。

tmux のセッションマネージャーを利用していなかったり、Zellij などの他のターミナルマルチプレクサを使用している場合は、Vim プラグイン側で解決するのも良い選択肢だと思います。

参考

6
1
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
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?