- Shift+Enter が改行を挿入する代わりに送信する
- macOS で Option キーショートカットが機能しない
- Claude が完了したときに音またはアラートがない
- Claude Code を tmux 内で実行している
- 表示がちらつくか、スクロールバックがジャンプする
- プロンプトで Vim キーを使いたい
複数行のプロンプトを入力する
Enter キーを押すとメッセージが送信されます。送信せずに改行を追加するには、Ctrl+J を押すか、\ を入力してから Enter キーを押します。どちらもセットアップなしですべてのターミナルで機能します。
ほとんどのターミナルでは Shift+Enter も押すことができますが、サポートはターミナルエミュレータによって異なります。
VS Code、Cursor、Devin Desktop、Alacritty、Zed の場合、
/terminal-setup は Shift+Enter およびその他のキーバインディングをターミナルの設定ファイルに書き込みます。既存のバインディングはそのまま保持されます。VSCode terminal Shift+Enter key binding already configured などのメッセージが表示された場合は、変更は加えられていません。tmux または screen 内ではなく、ホストターミナル内で直接 /terminal-setup を実行してください。ホストターミナルの設定に書き込む必要があるためです。
VS Code、Cursor、Devin Desktop では、/terminal-setup はさらに 2 つのエディタ設定も更新します。統合ターミナルでのテキストの乱れを防ぐために terminal.integrated.gpuAcceleration を "off" に設定し、フルスクリーンモード でのスムーズなスクロールのために terminal.integrated.mouseWheelScrollSensitivity を設定します。GPU アクセラレーション変更を元に戻すには、"auto" に設定し直してエディタウィンドウをリロードしてください。
tmux 内で実行している場合、外側のターミナルがサポートしている場合でも、Shift+Enter には以下の tmux 設定 が必要です。
改行を別のキーにバインドするか、Enter が改行を挿入し Shift+Enter が送信するように動作を入れ替えるには、キーバインディングファイル で chat:newline および chat:submit アクションをマップします。
macOS で Option キーショートカットを有効にする
Claude Code のいくつかのショートカットは Option キーを使用します。例えば、改行の場合は Option+Enter、モデルを切り替える場合は Option+P です。macOS では、ほとんどのターミナルはデフォルトでは Option を修飾子として送信しないため、これらのショートカットは有効にするまで機能しません。このターミナル設定は通常「Option を Meta キーとして使用」というラベルが付いています。Meta は、現在 Option または Alt というラベルが付いているキーの歴史的な Unix 名です。- Apple Terminal
- iTerm2
- VS Code
設定 → プロファイル → キーボードを開き、‘Option を Meta キーとして使用’をチェックします。Claude Code の初回実行プロンプトで’改行と視覚的ベルの場合は Option+Enter’を受け入れた場合、これは既に完了しています。そのプロンプトは
/terminal-setup を実行し、Apple Terminal プロファイルで Option を Meta として有効にし、オーディオベルをビジュアルスクリーンフラッシュに切り替えます。ターミナルベルまたは通知を取得する
Claude がタスクを完了するか、権限プロンプトで一時停止すると、通知イベントが発火します。これをターミナルベルまたはデスクトップ通知として表示すると、長いタスクが実行されている間に他の作業に切り替えることができます。 デフォルトでは Claude Code はデスクトップ通知を Ghostty、Kitty、および iTerm2 でのみ送信します。他のターミナルでは、preferredNotifChannel を "terminal_bell" に設定してターミナルベルを鳴らすか、カスタムサウンドまたはコマンド用に 通知フック を設定してください。
デスクトップ通知は SSH 経由でローカルマシンに到達するため、リモートセッションでもアラートを表示できます。Ghostty と Kitty はさらなるセットアップなしで OS 通知センターに転送します。iTerm2 では転送を有効にする必要があります。
1
iTerm2 通知設定を開く
設定 → プロファイル → ターミナルに移動します。
2
アラートを有効にする
「Notification Center Alerts」をチェックし、「Filter Alerts」をクリックして「Send escape sequence-generated alerts」を有効にします。
通知フックでサウンドを再生する
任意のターミナルで 通知フック を設定して、Claude があなたの注意が必要なときにサウンドを再生するか、カスタムコマンドを実行できます。フックはデスクトップ通知の代わりではなく、並行して実行されるため、Warp や VS Code 統合ターミナルなどのデスクトップ通知を受け取らないターミナルは、フックを使用するか、preferredNotifChannel を "terminal_bell" に設定できます。
以下の例は macOS でシステムサウンドを再生します。リンクされたガイドには macOS、Linux、および Windows のデスクトップ通知コマンドがあります。
~/.claude/settings.json
tmux を設定する
Claude Code が tmux 内で実行されている場合、デフォルトでは 2 つのことが壊れます。Shift+Enter が改行を挿入する代わりに送信し、デスクトップ通知と プログレスバー が外側のターミナルに到達しません。これらの行を~/.tmux.conf に追加し、tmux source-file ~/.tmux.conf を実行して実行中のサーバーに適用します。
~/.tmux.conf
allow-passthrough 行により、通知とプログレス更新が tmux に飲み込まれるのではなく、外側のターミナルに到達できます。extended-keys 行により、tmux は Shift+Enter をプレーン Enter と区別できるため、改行ショートカットが機能します。
カラーテーマを一致させる
/theme コマンドを使用するか、/config のテーマピッカーを使用して、ターミナルに一致する Claude Code テーマを選択します。自動オプションを選択すると、ターミナルの明るいまたは暗い背景が検出されるため、テーマは OS の外観の変更に従います。Claude Code はターミナルアプリケーションによって設定されるターミナル自体のカラースキームを制御しません。
インターフェースの下部に表示される内容をカスタマイズするには、現在のモデル、作業ディレクトリ、git ブランチ、またはその他のコンテキストを表示する カスタムステータスライン を設定します。
カスタムテーマを作成する
カスタムテーマには Claude Code v2.1.118 以降が必要です。
/theme はユーザーが定義したカスタムテーマと、インストール済みの プラグイン によって提供されるテーマを一覧表示します。リストの最後にある 新しいカスタムテーマ… を選択して、対話的に作成します。テーマに名前を付けてから、個別のカラートークンを選択してオーバーライドします。カスタムテーマがハイライトされている状態で Ctrl+E を押すと、編集できます。
各カスタムテーマは ~/.claude/themes/ 内の JSON ファイルです。.json 拡張子を除いたファイル名がテーマのスラッグであり、テーマを選択すると custom:<slug> がテーマの設定として保存されます。ファイルには 3 つのオプションフィールドがあります。
カラー値は
#rrggbb、#rgb、rgb(r,g,b)、ansi256(n)、または ansi:<name> を受け入れます。ここで <name> は red や cyanBright などの 16 個の標準 ANSI カラー名の 1 つです。不明なトークンと無効なカラー値は無視されるため、タイプミスはレンダリングを破壊することはできません。
次の例は、ダークプリセットを保持しながら、プロンプトアクセント、エラーテキスト、成功テキストを再色付けするテーマを定義しています。
~/.claude/themes/dracula.json
~/.claude/themes/ を監視し、ファイルが変更されるとリロードするため、エディターで行われた編集は再起動なしで実行中のセッションに適用されます。
以下は、overrides で設定できるトークンをカバーしています。/theme の対話的エディターは、ここでカバーされていない少数の単一目的のアクセント(オンボーディング画面の色など)を含む、ライブプレビュー付きの同じトークンを表示します。
カラートークンリファレンス
カラートークンリファレンス
次の例は、複数のグループからのトークンを組み合わせています。ブランドアクセント、プランモードボーダー、diff 背景、および全画面メッセージ背景です。
~/.claude/themes/midnight.json
テキストとアクセントカラー
プライマリブランドアクセントと、インターフェース全体で使用されるフォアグラウンドテキストの色合いを制御します。ステータスカラー
メッセージとインジケーター全体で成功、失敗、警告状態を通知します。入力ボックスとモードインジケーター
入力ボックスのボーダーカラーと、パーミッションモードまたはインジケーターがアクティブな間に表示されるアクセントを設定します。Diff レンダリング
ファイル編集とレビューで追加および削除されたコードに色を付けます。全画面モード
全画面レンダリングモード でのみ適用されます。メッセージは背景塗りつぶしを持ちます。使用量メーターとスピーカーラベル
/usage ビューに表示されるバーと、メッセージを区別するラベルを調整します。シマー変種とサブエージェントカラー
複数のトークンにはペアになったシマー変種があり、スピナーのアニメーション化されたグラデーションで使用される明るい色を提供します。アニメーションが一致しないように見える場合は、ベーストークンと一緒にシマーをオーバーライドします。claudeとclaudeShimmerwarningとwarningShimmerpermissionとpermissionShimmerpromptBorderとpromptBorderShimmerinactiveとinactiveShimmerfastModeとfastModeShimmer
<color>_FOR_SUBAGENTS_ONLY パターンに従います。ここで <color> は red、blue、green、yellow、purple、orange、pink、または cyan です。これらをオーバーライドして、各名前付きカラーの外観を変更します。たとえば、定義に color: blue を持つサブエージェントは、blue_FOR_SUBAGENTS_ONLY 値を使用して描画されます。ultrathink と ultraplan キーワードはプロンプト入力で 7 色のレインボーグラデーションでレンダリングされます。トークン名は rainbow_<color> と rainbow_<color>_shimmer パターンに従います。ここで <color> は red、orange、yellow、green、blue、indigo、または violet です。フルスクリーンレンダリングに切り替える
Claude が作業中に表示がちらつくか、スクロール位置がジャンプする場合は、フルスクリーンレンダリングモード に切り替えます。ターミナルが通常のスクロールバックに追加する代わりに、フルスクリーンアプリ用に予約されている別のスクリーンに描画します。これにより、メモリ使用量が一定に保たれ、スクロールと選択のマウスサポートが追加されます。このモードでは、ターミナルのネイティブスクロールバックではなく、マウスまたは PageUp で Claude Code 内をスクロールします。検索とコピーの方法については、フルスクリーンページ を参照してください。 ちらつきが唯一の問題で、ターミナルが同期出力をサポートしているが自動検出されていない場合(Emacseat など)、CLAUDE_CODE_FORCE_SYNC_OUTPUT=1 を設定して、レンダラーを変更せずにちらつきを停止します。
/tui fullscreen を実行して、設定を切り替えて保存します。会話はそのままで再起動され、今後のセッションはフルスクリーンで開始されます。Claude Code を開始する前に CLAUDE_CODE_NO_FLICKER 環境変数を設定することもできます。
大量のコンテンツを貼り付ける
プロンプトに 10,000 文字以上を貼り付けると、Claude Code は入力を[Pasted text] プレースホルダーに折りたたんで、入力ボックスが使用可能なままになります。完全なコンテンツは送信時に Claude に送信されます。
VS Code 統合ターミナルは、Claude Code に到達する前に非常に大きな貼り付けから文字をドロップできるため、そこではファイルベースのワークフローを優先します。ファイル全体や長いログなどの非常に大きな入力の場合は、コンテンツをファイルに書き込み、貼り付けの代わりに Claude に読み込むよう依頼します。これにより、会話トランスクリプトが読みやすくなり、Claude が後の手番でパスでファイルを参照できます。
Vim キーバインディングでプロンプトを編集する
Claude Code には、プロンプト入力用の Vim スタイルの編集モードが含まれています。/config → エディタモードを通じて有効にするか、~/.claude/settings.json で editorMode を "vim" に設定します。エディタモードを normal に戻してオフにします。
Vim モードは NORMAL モードおよび VISUAL モードのモーションと演算子のサブセットをサポートしています。例えば、hjkl ナビゲーション、v/V 選択、およびテキストオブジェクトを使用した d/c/y などです。完全なキーテーブルについては、Vim エディタモードリファレンス を参照してください。
Vim モーションはキーバインディングファイルを通じて再マップできません。jj を Escape にマップするなど、INSERT モードの 2 キーシーケンスをマップするには、ユーザー設定で vimInsertModeRemaps を設定します。
INSERT モードで Enter キーを押すと、標準 Vim とは異なり、プロンプトが送信されます。代わりに改行を挿入するには、NORMAL モードで o または O を使用するか、Ctrl+J を使用します。
関連リソース
- インタラクティブモード:完全なキーボードショートカットリファレンスと Vim キーテーブル
- キーバインディング:Enter と Shift+Enter を含む任意の Claude Code ショートカットを再マップ
- フルスクリーンレンダリング:フルスクリーンモードでのスクロール、検索、コピーの詳細
- フック ガイド:Linux と Windows の詳細な通知フック例
- トラブルシューティング:ターミナル設定外の問題の修正