このレッスンで学ぶこと
- インタラクティブモードとワンショットモードの違いと使い分け
- パイプ入力を使ってClaude Codeにデータを渡す方法
- 主要なスラッシュコマンドとキーボードショートカット
- コンテキスト管理と出力フォーマットの制御
前提条件
- Lesson 2 を完了し、Claude Codeで基本的なタスクを実行した経験があること
- ターミナルの基本操作ができること
2つのモードを使い分ける
Claude Codeには大きく分けて2つの使い方があります。「インタラクティブモード」と「ワンショットモード」です。
インタラクティブモード
Lesson 2でも使った、会話型のモードです。claude コマンドで起動し、対話しながら作業を進めます。
claude起動すると入力待ちの状態になり、何度でもやり取りを続けられます。探索的な作業やデバッグなど、会話を重ねながら進めたいタスクに向いています。
初期プロンプト付きで起動することもできます。
claude "このプロジェクトの構成を説明して"ワンショットモード(-p フラグ)
1つの質問を投げて、回答をもらったら終了するモードです。-p(print)フラグを使います。
claude -p "このプロジェクトのREADMEを要約して"スクリプトへの組み込みやCI/CD(継続的インテグレーション/デリバリー)パイプラインでの利用に適しています。結果をファイルに保存したり、別のコマンドにつなげたりできます。
パイプ入力の活用
Unix系のパイプ(|)を使って、ファイルやコマンドの出力をClaude Codeに直接渡すことができます。
# ファイルの内容をレビューしてもらう
cat src/app.ts | claude -p "このコードをレビューして"
# gitのログを要約する
git log --oneline -20 | claude -p "最近のコミットを要約して"
# テスト結果を分析する
npm test 2>&1 | claude -p "失敗したテストの原因を分析して"対話しながら作業を進めたいならインタラクティブモード、自動化やワンライナーで結果がほしいならワンショットモードを使いましょう。迷ったらインタラクティブモードで始めるのがおすすめです。
主要なスラッシュコマンド
インタラクティブモードでは、/ で始まるスラッシュコマンドが使えます。プロンプトに / と入力すると一覧が表示され、文字を続けて入力するとフィルタリングされます。
よく使うコマンド一覧
| コマンド | 説明 |
|---|---|
/help | ヘルプと利用可能なコマンドを表示する |
/init | CLAUDE.mdファイルを自動生成してプロジェクトを初期化する |
/clear | 会話コンテキストをリセットする(別のタスクに切り替えるときに便利) |
/compact | 会話を要約してコンテキストを圧縮する。引数で指示も可能(例: /compact APIの変更に注目して) |
/model | 使用するAIモデルを切り替える |
/config | 設定画面を開く(テーマ、エディタモード等) |
/memory | CLAUDE.mdファイルの編集や自動メモリの管理を行う |
/permissions | ツール権限のアクセス許可を管理する |
/review | GitHubプルリクエストをレビューする |
/diff | 現在の変更内容(差分)を表示する |
/resume | 過去の会話セッションを再開する |
/rewind | 会話やコードを以前の時点に巻き戻す |
/theme | カラーテーマを変更する |
/usage | セッションのコスト、プラン使用制限を表示する |
/ を入力すれば全コマンドが表示されます。最初は /clear、/compact、/model の3つだけ覚えておけば十分です。
キーボードショートカット
Claude Codeの操作を高速化するショートカットを覚えましょう。
基本操作
| ショートカット | 説明 |
|---|---|
Esc | Claudeの応答やツール実行を途中で停止する。入力を中断してリダイレクトできる |
Esc + Esc | 入力テキストがある場合はクリア。空の場合は巻き戻しメニューを開く |
Ctrl+C | 実行中の操作を中断する。何も実行していなければ入力をクリアし、もう1回で終了 |
Ctrl+D | Claude Codeセッションを終了する |
Ctrl+L | 画面を再描画する(表示が崩れたときに使う) |
入力関連
| ショートカット | 説明 |
|---|---|
\ + Enter | 複数行入力モードに切り替える(すべてのターミナルで動作) |
Shift+Enter | 改行を入力する(iTerm2、Warp等のモダンなターミナルで動作) |
Ctrl+G | デフォルトのテキストエディタでプロンプトを編集する |
Ctrl+R | コマンド履歴を検索する |
Up/Down矢印 | 以前のプロンプト入力を呼び出す |
モード切り替え
| ショートカット | 説明 |
|---|---|
Shift+Tab | 権限モード(default → acceptEdits → plan → auto)を切り替える |
Option+P / Alt+P | 使用モデルを切り替える |
Option+T / Alt+T | 拡張思考モードのオン/オフ |
macOSでOption(Alt)キーのショートカットを使うには、ターミナルの設定でOptionキーをMetaキーとして設定する必要があります。iTerm2なら「設定 → プロファイル → キー → 一般」で Left/Right Option キーを「Esc+」に設定しましょう。
コンテキスト管理のコツ
Claude Codeの「コンテキスト」とは、Claudeが参照できる情報のまとまりのことです。会話が長くなるとコンテキストがいっぱいになり、パフォーマンスが低下する可能性があります。
コンテキストを効率よく管理するポイント
タスクを切り替えるときは /clear を使う
別のタスクに移るときは /clear でコンテキストをリセットしましょう。不要な情報が残っていると、Claudeの判断精度が下がることがあります。
/clear会話が長くなったら /compact で圧縮する
会話が長くなりすぎたと感じたら、/compact でコンテキストを要約・圧縮できます。フォーカスすべき内容を引数で指定すると、より効果的です。
/compact APIの変更内容を重点的に残して@ でファイルを直接参照する
Claudeにファイルを読ませたいときは、@ を付けてファイルパスを入力しましょう。Claudeが自分でファイルを探すより効率的です。
@src/auth/login.ts のバグを修正して/btw 変数名の規約って何だっけ? のように、メインの作業を中断せずにちょっとした質問をすることもできます。回答は一時的に表示され、会話履歴には残りません。
出力フォーマットの制御
ワンショットモード(-p)では、出力形式を指定できます。スクリプトとの連携や、結果をプログラムで処理したい場合に便利です。
# プレーンテキスト(デフォルト)
claude -p "このプロジェクトの構成を説明して"
# JSON形式で出力
claude -p "APIエンドポイントを一覧にして" --output-format json
# ストリーミングJSON(リアルタイム処理向け)
claude -p "ログファイルを分析して" --output-format stream-json --verbose実践例: よく使うコマンドパターン3つ
パターン1: 過去の会話を引き継ぐ
昨日の作業の続きをしたいときは、セッション再開機能を使いましょう。
# 直前のセッションを再開
claude --continue
# 過去のセッション一覧から選んで再開
claude --resumeパターン2: コードレビューの依頼
@src/components/UserForm.tsx をレビューして。
特にバリデーション処理とエラーハンドリングに注目してほしい。パターン3: Git操作との連携
# 変更内容を確認してもらう
git diff | claude -p "この差分をレビューして、問題があれば指摘して"
# コミットメッセージの生成
git diff --staged | claude -p "この変更に適したコミットメッセージを日本語で提案して"よくある質問
Q: スラッシュコマンドとCLIフラグの違いは?
スラッシュコマンド(/clear など)はインタラクティブモードのセッション内で使うものです。CLIフラグ(-p、--model など)は claude コマンドの起動時に付けるオプションです。
Q: コンテキストがいっぱいになったらどうなる?
Claude Codeは自動的にコンテキストを圧縮(コンパクション)します。ただし、情報が失われることもあるので、長い作業の場合は適宜 /clear で区切るのがおすすめです。
Q: 会話のセッションはどこに保存される?
セッションはローカルマシンに保存されます。claude --resume で過去のセッション一覧を確認し、再開できます。
まとめ
このレッスンでは、以下のことを学びました。
- 2つのモード: インタラクティブモード(対話型)とワンショットモード(
-pフラグ)の使い分け - パイプ入力: ファイルやコマンド出力をClaude Codeに直接渡す方法
- スラッシュコマンド:
/clear、/compact、/modelをはじめとする便利なコマンド - ショートカット:
Esc(停止)、Ctrl+C(中断)、Shift+Tab(モード切替)など - コンテキスト管理:
/clearと/compactで効率的にコンテキストを管理する方法
これらのコマンドやショートカットは、一度に全部覚える必要はありません。日常的に使いながら少しずつ手に馴染ませていきましょう。
次のステップ
次のレッスンでは、Claude Codeの「プロジェクトメモリ」であるCLAUDE.mdの書き方を学びます。CLAUDE.mdを設定すると、毎回同じ説明をしなくても、Claudeがプロジェクトのルールや規約を理解した上でコードを書いてくれるようになります。
Lesson 4: CLAUDE.mdでプロジェクトの記憶を作る に進みましょう。