> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# キーボード ショートカット

> Devin CLIでよく使うキーボード ショートカット

このページのすべてのショートカットは**デフォルト**ですが、再バインドできます。`/shortcuts` を実行して対話的に確認・再バインドするか、設定ファイルの [`keymap`](/ja/cli/reference/configuration/config-file#keymap) セクションを直接編集してください。

<div id="input-shortcuts">
  ## 入力ショートカット
</div>

これらのショートカットは、プロンプトで入力中に利用できます。

| Shortcut                       | Description                                                                          |
| ------------------------------ | ------------------------------------------------------------------------------------ |
| `Enter`                        | メッセージを送信                                                                             |
| `Shift+Enter`\* or `Alt+Enter` | 改行を挿入 (複数行入力用)                                                                       |
| `Shift+Tab`                    | モードを順に切り替え (Normal、Accept Edits、Smart、Bypass、Autonomous)                             |
| `Ctrl+C`                       | 現在の入力をキャンセル (テキストを消去)、または実行中のエージェントをキャンセル                                            |
| `Ctrl+D`                       | 終了 (入力が空の場合)                                                                         |
| `Esc`                          | 実行中のエージェントをキャンセル                                                                     |
| `Ctrl+G`                       | 外部エディターを開いてメッセージを作成                                                                  |
| `Ctrl+R`                       | 以前のプロンプトをあいまい検索して選択したプロンプトを挿入                                                        |
| `Ctrl+O`                       | 思考トレースの全画面ビューアーを開く                                                                   |
| `Ctrl+L`                       | 画面を再描画 / 更新                                                                          |
| `Ctrl+V` or `Shift+Insert`     | クリップボードから貼り付け (画像は入力欄に表示されます; `Left`/`Right`で移動、`Backspace`で削除)                      |
| `!`                            | 入力が空のときに bash モードに入り、シェルコマンドを直接実行します。空の入力で `Backspace` または `Esc` を押すと bash モードを終了します |
| `@`                            | ファイル/ディレクトリのオートコンプリートを開いて前提情報を追加                                                     |

<Note>
  On macOS, `Alt` is the `Option` key. Some shortcuts below use `Alt` (Option) as a modifier. We recommend [configuring Option as Meta](/ja/cli/reference/terminal-compatibility#configuring-option-as-meta-on-macos) for the best experience.
</Note>

* Requires a [compatible terminal](/ja/cli/reference/terminal-compatibility). Terminals that do not support the Kitty keyboard protocol cannot distinguish `Shift+Enter` from `Enter`. Use `Alt+Enter` or `Ctrl+J` instead.

***

<div id="mode-model-shortcuts">
  ## モードとモデルのショートカット
</div>

| ショートカット                  | 説明                                                                         |
| ------------------------ | -------------------------------------------------------------------------- |
| `Shift+Tab`              | 次のモードに切り替える (Normal → Accept Edits → Smart → Bypass → Autonomous → Normal) |
| `Alt+T` (macOS: `Opt+T`) | 現在のモデルの思考レベルを切り替える                                                         |

<Note>
  [Smart モード](/ja/cli/reference/permissions#smart-mode) は段階的に提供されています。アカウントで有効になっていない場合は、切り替え時にスキップされます。Autonomous は[サンドボックスセッション](/ja/cli/sandbox)でのみ表示され、この環境で利用できる唯一の権限モードです。
</Note>

スラッシュコマンドでもモードを切り替えられます: `/normal`、`/accept-edits`、`/smart`、`/plan`、`/bypass`、または `/mode <name>`。モードを切り替えずに質問するには、oneshot コマンドとして `/ask <question>` を使用します。

***

<div id="rebinding-shortcuts">
  ## ショートカットの再バインド
</div>

`/shortcuts` を実行すると、カテゴリごとにグループ化されたすべてのショートカットの対話型リストが開きます。入力して全カテゴリを検索し、再バインドするアクションで `Enter` を押した後、設定したいキーの組み合わせを押します。各行にはアクションの `context.action` 識別子 (例: `editor.accept_line`) が表示されます。これは設定ファイルを手動で編集する際に使用するキーです。`/shortcuts` で再バインドすると、新しいバインドがユーザー設定に保存されます。

バインドを直接設定するには、設定ファイルに [`keymap`](/ja/cli/reference/configuration/config-file#keymap) セクションを追加します。

```json theme={null}
// ~/.config/devin/config.json
{
  "keymap": {
    "global": {
      "clear_screen": "ctrl-shift-k"
    }
  }
}
```

<Note>
  `Ctrl+C` の割り当ては解除できません。実行中のエージェントは常にキャンセルされます。
</Note>

***

<div id="text-editing">
  ## テキスト編集
</div>

入力時のテキスト編集には、readline 形式または Emacs 形式のキーバインドを利用します。

***

<div id="customizing-keybindings">
  ## キーバインドをカスタマイズする
</div>

すべてのキーバインドは、CLI または設定ファイルから確認でき、そのほとんどを変更できます。

<div id="browsing-shortcuts-with-shortcuts">
  ### `/shortcuts` でショートカットを確認する
</div>

`/shortcuts` を実行すると、すべてのキーバインドをカテゴリ別 (入力、モードとモデル、テキスト編集、リストとピッカー、補完、プロンプトとパネル、設定エディタなど) に表示する対話型ピッカーが開きます。各行には、有効なキー、説明、ショートカットの `context.action` 識別子 (例: `editor.insert_newline`) が表示されます。この識別子は、設定ファイルでオーバーライドを指定する際に使用します。入力して、すべてのカテゴリを横断して検索できます。

<div id="rebinding-interactively">
  ### 対話形式で再バインドする
</div>

`/shortcuts` でショートカットの行にカーソルを合わせて `Enter` を押し、新しいキーの組み合わせを入力します。

```
Press the new key for Open external editor (readbox_input.open_external_editor)
Currently: ctrl+g
any key rebind · esc cancel
```

変更はすぐに反映され、ユーザー設定ファイルの `keymap` セクションに保存されるため、セッションをまたいでも維持されます。変更せずにキャンセルするには、`Esc` を押します。

一部のグローバルな "chrome" キー (画面のクリア、思考トレースビューアー、強制フル再描画) は、再バインドプロンプトですべてのキー入力を取得する必要があるため、対話的に再バインドできません。ピッカーには `can't be rebound` と表示されます。これらは[設定ファイル](#rebinding-via-the-config-file)でオーバーライドできます。

<div id="rebinding-via-the-config-file">
  ### 設定ファイルでの再バインド
</div>

ユーザー設定ファイル (`~/.config/devin/config.json`、Windows では `%APPDATA%\devin\config.json`) に `keymap` セクションを追加します。オーバーライドは、前提情報ごとに action を指定します。

```json theme={null}
{
  "keymap": {
    "global": {
      "clear_screen": "ctrl-shift-k",
      "history_search": ["ctrl-r", "f5"],
      "feedback_up": []
    },
    "editor": {
      "insert_newline": ["shift-enter", "alt-enter", "ctrl-j"]
    }
  }
}
```

* 値には、単一のキー仕様、キー仕様のリスト (すべてがアクションをトリガーします) 、またはアクションのバインドを解除するための空のリスト `[]` を指定できます。
* オーバーライドは、そのアクションの組み込みのデフォルトを完全に置き換えます。リストに含めないアクションはデフォルトのままです。
* `/shortcuts` で `context.action` 名を確認できます。各行に識別子が表示されます。

キー仕様の完全な構文については、[設定ファイルリファレンス](/ja/cli/reference/configuration/config-file#keymap)を参照してください。

<div id="key-spec-syntax">
  ### キー仕様の構文
</div>

キー仕様は、`-`で区切られた0個以上の修飾キーと1つのキー名で構成されます。例: `ctrl-shift-p`、`alt-enter`、`f5`、`K`:

| 要素     | 値                                                                                                                                                                                                                   |
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 修飾キー   | `ctrl`/`control`/`c`、`alt`/`meta`/`option`/`opt`/`m`、`shift`/`s` — 大文字と小文字を区別せず、順序は任意、重複不可                                                                                                                          |
| 名前付きキー | `enter`/`return`、`esc`/`escape`、`tab`、`backspace`、`delete`/`del`、`insert`/`ins`、`up`、`down`、`left`、`right`、`home`、`end`、`page-up`/`pageup`/`pgup`、`page-down`/`pagedown`/`pgdn`、`space`、`f1`–`f24` — 大文字と小文字を区別しません |
| 文字     | その他の任意の1文字は、その文字のキーに割り当てられ、大文字と小文字が保持されます。`K` (`shift-k`と同等) は、Shiftを押した文字キーに割り当てられます。マイナスキーには`-`を利用します (`ctrl--`はCtrl+マイナスです)                                                                                      |

<div id="validation-and-conflicts">
  ### 検証と競合
</div>

無効なエントリは起動時に警告として表示され、スキップされます。その他のオーバーライドと設定は引き続き適用されます。

```
Warning: keymap: unknown context `bogus_context`
Warning: keymap.editor: unknown action `bogus_action`
Warning: keymap: override creates a conflict (editor: `ctrl+a` bound to both
`beginning_of_line` and `kill_line`); restoring built-in default for `editor.kill_line`
```

不明な前提情報/action 名、不正なキー指定、型が異なる値、同じ前提情報内の別のバインドと競合するオーバーライド (競合したオーバーライドはデフォルトに戻ります) が対象です。`Ctrl+C` (キャンセル) はバインド解除できません。
