Ctrl+R履歴検索でClaude Codeの過去プロンプトを再利用する
Ctrl+Rで過去のプロンプトを対話的に検索し呼び出す手順です。フルスクリーン表示・Vimモードでの挙動の違いと、Ctrl+Oのトランスクリプト検索との使い分けを扱います。
Ctrl+Rを押すと、過去に入力したプロンプトを対話的に検索し、そのまま入力欄に呼び戻せます。似た指示を何度も打つ作業や、数セッション前に書いた長いプロンプトを探すときに、上矢印で1件ずつ遡るより速く目的の1行にたどり着けます。
プロンプト履歴は「作業ディレクトリ単位」で保存される
Claude Codeは入力したプロンプトを作業ディレクトリごとに保存しています。上矢印での1件ずつのナビゲーションはこの単位に沿っており、プロジェクトを切り替えれば遡れる履歴も切り替わります。一方でクラシックレンダラーのCtrl+R検索は、保存単位とは別に常に全プロジェクトの履歴を横断してスキャンする点に注意が必要です(詳しくは後述)。同じプロンプトを連続で2回送っても履歴には1件しか記録されないため、上矢印で遡っても同じ行で足踏みすることはなく、直前と異なる入力へ一段ずつ進みます。
/clearで新しいセッションを始めても、履歴自体は失われません。呼び出し順は新しいセッションのプロンプトが先頭に来て、その後ろに古いセッションの入力が続きます。会話そのものは保持されており、/resumeで開き直せます。プロジェクトを長く使い続けるほど履歴には過去の指示の言い回しが積み上がっていくので、Ctrl+Rで探す価値もそのぶん大きくなります。
検索から呼び出しまでの操作手順
クラシックレンダラーでの一連の流れです。
Ctrl+Rを押してインライン検索を開始する- 探したい語を入力する。一致箇所がハイライトされる
Ctrl+Rをもう一度押すと、より古い一致へ順に移動するTabまたはEscで一致内容を入力欄に確定し、そのまま編集を続けるEnterで確定し、編集を挟まずに即座に送信するCtrl+Cでキャンセルすると元の入力に戻る。検索語が空の状態でBackspaceを押してもキャンセル扱いになる
検索は新しい順に全プロジェクトの履歴をスキャンし、同じ内容が複数回登場していれば最新の1件に畳んで表示します。履歴ファイルの読み込みが完了する前でも、確定やキャンセルの操作はその場で反映されます。
貼り付けたテキストを含むプロンプトを呼び戻す場合は注意が必要です。再送されるのは基本的に貼り付けた内容を含む全文ですが、貼り付け時にクリーンアップ済みの場合は[Pasted text #N]という表示用の文字列がそのまま再送されるわけではありません。長いテキストを貼り付けて使い回す運用をしているなら、この点を踏まえて呼び出し後の入力欄を必ず目視確認してください。
長い会話のあとほど、Ctrl+Rが効いてくる
上矢印は履歴を1件ずつ戻る操作です。10ターン前のプロンプトを探すなら、10回押して過去へ遡る必要があります。セッションが長引くほど、この総当たりのコストは増えていきます。
Ctrl+Rはキーワード一致で一足飛びに探せる点が根本的に違います。「auth」「マイグレーション」のようなその指示に固有の単語を1つ覚えていれば、何ターン前かに関係なく1回の検索でたどり着けます。長いレビュー指示や、コーディング規約を細かく書き込んだプロンプトほど、上矢印での逐次確認より検索のほうが速く済みます。逆に直前や2つ前の入力を微修正して送り直すだけなら、上矢印のほうが手数は少なく済みます。
使い分けの目安は、探したい入力が「何ターン前か」を覚えているかどうかです。ターン数を覚えているなら上矢印を必要な回数だけ押すほうが早く、ターン数を忘れていて単語だけ覚えているならCtrl+Rのほうが早くたどり着けます。頻繁に使う長文プロンプトはCLAUDE.mdやSkillへ切り出す選択肢もありますが、その場限りの言い回しを再利用したいだけなら、Ctrl+Rで探すほうが小回りが利きます。
フルスクリーン表示ではCtrl+Rの動きが変わる
Claude Codeには従来のクラシックレンダラーと、フルスクリーン表示(TUI)の2種類の描画モードがあります。2026年5月6日以降に初めてClaude Codeを使い始めたアカウントはフルスクリーン表示が既定で、それより前から使っているアカウントは/tui fullscreenで切り替えない限りクラシックレンダラーのままです。
クラシックレンダラーのインライン検索は常に全プロジェクトを対象にしており、範囲を絞る手段がありません。フルスクリーン表示のダイアログだけが、Ctrl+Sでスコープを狭められます。同じプロジェクト内の履歴だけを見たい場合は、フルスクリーン表示に切り替えたほうが目的の1行に早くたどり着けます。
フルスクリーン表示のダイアログでも、直近のプロンプトから先に表示され、選択したスコープの中でより古いプロンプトが読み込み次第追加されていきます。新しい順・重複は最新の1件に畳む、という基本ルールはクラシックレンダラーと同じです。
Vimモードでは/が同じ動作をする
VimモードのNORMALモードでは、/キーがCtrl+Rと同じ逆履歴検索を開きます。bash/zshのvi-modeに合わせた挙動で、キーボードから手を離さずに検索へ入れます。検索プロンプトが空の状態では、Esc→i→/でコマンドメニューを開く操作へのヒントが表示されます。/をコマンドメニューの起動キーだと思い込んでいると、検索が開いて戸惑うことがあるので、NORMALモードでの/は検索専用だと覚えておくと迷いません。
NORMALモードでカーソルが入力欄の先頭または末尾にあり、それ以上動かせない場合は、j/kや矢印キーも履歴のナビゲーションに切り替わります。空の入力欄で←を押すとagent viewを開く操作になり、これはNORMALモード・INSERTモードの両方で共通です。
Ctrl+R・Ctrl+O・上矢印は目的が違う
似た働きに見える操作でも、探す対象は別々です。混同すると「探しているのに出てこない」という状態になります。
| 操作 | 探す対象 | 向いている場面 |
|---|---|---|
Ctrl+R | 探す対象過去に自分が送ったプロンプトの文字列 | 向いている場面数十件前の指示をキーワードで探したいとき |
Ctrl+O(トランスクリプトビューア)/ フルスクリーンでの/検索 | 探す対象今の会話に表示されているツール実行結果や応答の中身 | 向いている場面直前の会話で実行したコマンドの出力を再確認したいとき |
Up/DownまたはCtrl+P/Ctrl+N | 探す対象直前のプロンプトから1件ずつ | 向いている場面1つ前・2つ前に打った内容へすぐ戻りたいとき |
!コマンドのTab補完 | 探す対象!で実行した過去のシェルコマンドのみ | 向いている場面直前に打ったシェルコマンドを打ち直したいとき |
Ctrl+Oはプロンプト履歴ではなく、現在のセッションで実際に起きたツール呼び出しや応答を対象にします。既定では「Called slack 3 times」のように1行へ折りたたまれているMCP呼び出しも、トランスクリプトビューアを開くと展開されて全件が見えます。フルスクリーン表示でトランスクリプトモードに入ってから/を押す検索も同様に、会話の中身を探す機能であり、Ctrl+Rが探す「自分の入力履歴」とは別物です。目的が「前に何を打ったか」ならCtrl+R、「Claudeが何を返したか・何回ツールを呼んだか」ならCtrl+Oのトランスクリプト検索、と分けて覚えると迷いません。
よくある質問
フルスクリーン表示のスコープを「このプロジェクト」に絞ると、それより前の他プロジェクトの入力はどう扱われますか
Ctrl+Sで選んだスコープの外なので検索結果には出てきません。別プロジェクトの入力まで探したい場合は、スコープをもう一度Ctrl+Sで「全プロジェクト」まで切り替える必要があります。クラシックレンダラーにはこのスコープ切り替え自体がなく、常に全プロジェクトが対象です。
検索を空文字のまま終了するとどうなりますか
Backspaceで検索語をすべて消してから押すとキャンセル扱いになり、入力欄は検索を始める前の状態に戻ります。Ctrl+Cでのキャンセルと同じ結果になるので、検索語を打ち間違えて最初からやり直したいときはどちらの操作でも構いません。
Vimモードで/を押したのにコマンドメニューが開かないのはなぜですか
NORMALモードの/はコマンドメニューではなくCtrl+Rと同じ逆履歴検索を開くキーだからです。コマンドメニューを開きたい場合はEsc→iでINSERTモードへ戻ってから改めて操作します。検索プロンプトが空の状態だとこの切り替え手順のヒントが画面に表示されます。
トランスクリプトビューアで折りたたまれているMCP呼び出しの中身を見るにはどうしますか
Ctrl+Oでトランスクリプトビューアを開くと、既定で1行に折りたたまれているMCP呼び出しも展開されて全件表示されます。各応答にはタイムスタンプと使用したモデルも併記されるため、いつ・どのモデルで何回ツールを呼んだかをそこで確認できます。
!コマンドのTab補完はどの範囲のシェルコマンドを対象にしますか
!の後ろでTabを押すと補完されるのは、現在のプロジェクトで過去に!プレフィックスを付けて実行したシェルコマンドの履歴です。Ctrl+Rが検索するプロンプト履歴とは別の一覧として管理されているため、シェルコマンドを打ち直したいときは!+Tab、プロンプトを探したいときはCtrl+Rと使い分けます。
まとめ
Ctrl+Rは作業ディレクトリ単位で保存されたプロンプト履歴を検索し、そのまま入力欄へ呼び戻す操作です。クラシックレンダラーは常に全プロジェクトを対象にした一段のインライン検索、フルスクリーン表示はCtrl+Sでスコープを切り替えられる検索ダイアログという違いがあり、Vimモードなら/から同じ検索に入れます。トランスクリプトの中身を探すCtrl+Oとは対象がそもそも別なので、「前に何を打ったか」を探すときはCtrl+Rを使う、と切り分けておくのが実務的です。ショートカット全体の一覧とカスタマイズ方法はClaude Codeショートカット一覧にまとめています。