はじめに
Claude Code の入力欄は、Enter を押すと即座にメッセージが送信されます。長いプロンプトを書いている途中で反射的に Enter を押してしまい、書きかけのまま送ってしまった経験がある方も多いのではないでしょうか。
この記事では、Enter を改行に、別のキーを送信に割り当てる方法を紹介します。
問題
Claude Code の既定のキー割り当ては次のようになっています。
| キー | 動作 |
|---|---|
| Enter | 送信(chat:submit) |
| Ctrl+J | 改行(chat:newline) |
多くのチャットアプリと同じ感覚で Enter を改行として使いたい場合、この割り当てを入れ替える必要があります。
ただし、送信キーに何を選ぶかで結果が変わります。安易に Ctrl+J を送信キーに割り当てても動作しません。理由は後述します。
解決方法
キーバインドファイルを作成する
Claude Code 内で /keybindings を実行すると、設定ファイル ~/.claude/keybindings.json が作成・オープンされます。
以下の内容を記述します。
{
"$schema": "https://www.schemastore.org/claude-code-keybindings.json",
"$docs": "https://code.claude.com/docs/en/keybindings",
"bindings": [
{
"context": "Chat",
"bindings": {
"enter": "chat:newline",
"ctrl+e": "chat:submit"
}
}
]
}
これで次のようになります。
| キー | 動作 |
|---|---|
| Enter | 改行 |
| Ctrl+E | 送信 |
キーバインドファイルの変更は自動で検知されるため、Claude Code の再起動は不要です。
シェルから直接作成する場合は以下でも構いません。
cat > ~/.claude/keybindings.json << 'EOF'
{
"$schema": "https://www.schemastore.org/claude-code-keybindings.json",
"$docs": "https://code.claude.com/docs/en/keybindings",
"bindings": [
{
"context": "Chat",
"bindings": {
"enter": "chat:newline",
"ctrl+e": "chat:submit"
}
}
]
}
EOF
送信キーに使ってはいけないキー
送信キーの選定には注意が必要です。以下のキーは避けてください。
Alt+Enter
多くのターミナルエミュレータ(Windows Terminal、GNOME Terminal など)が全画面表示の切り替えに割り当てています。ターミナル本体がキーを消費してしまうため、Claude Code まで届きません。tmux や Docker を経由している場合も同様です。
Ctrl+S / Ctrl+Q
端末のフロー制御(画面出力の一時停止・再開)に使われます。
Ctrl+B / Ctrl+A
それぞれ tmux と GNU screen のプレフィックスキーと衝突します。
Ctrl+C / Ctrl+D
Claude Code 側で中断・終了として固定されており、再割り当てできません。
Ctrl+Enter や Shift+Enter はどうか
どちらも「端末が Enter と区別して送れるかどうか」に依存します。Kitty キーボードプロトコル(修飾キー付きのキー入力を区別して送れる拡張仕様)に対応した端末であれば動作しますが、対応していない端末では Enter と同じバイト列が送られるため区別できません。
環境を選ばず確実に動かしたい場合は、Ctrl+E のような通常の制御文字を選ぶのが無難です。
動作確認
設定後、入力欄で Enter を押して改行され、Ctrl+E で送信されれば成功です。
うまくいかない場合は、押したキーがそもそもターミナルを通過して届いているかを確認できます。
cat -v
実行後にキーを押すと、届いていれば ^E のように表示されます。何も表示されなければ、ターミナルや多重化ツールの側でキーが消費されています。終了は Ctrl+C です。
おわりに
Enter を改行にする設定自体は数行の JSON で済みますが、送信キーの選定を誤ると「設定は正しいのに動かない」状態に陥ります。
ターミナルや多重化ツールに先に奪われるキーを避けるという一点を押さえておけば、迷わず設定できるはずです。
参考
- Customize keyboard shortcuts - Claude Code Docs
- Configure your terminal for Claude Code - Claude Code Docs
JISOUのメンバー募集中!
プログラミングコーチングJISOUでは、新たなメンバーを募集しています。
日本一のアウトプットコミュニティでキャリアアップしませんか?
興味のある方は、ぜひホームページをのぞいてみてください!
▼▼▼
https://projisou.jp
