ターミナルのセットアップ
Cursor CLI を快適に利用するためのターミナル設定について説明します。このガイドでは、複数行入力用のキーバインド、Vim モード、テーマの同期について解説します。
クイックスタート
ターミナルで Shift+Enter を使って改行できない場合は、/setup-terminal を実行して代替方法の設定手順を確認してください。
/setup-terminalこのコマンドは使用中のターミナルを検出し、改行を入力する別の方法としてOption+EnterAlt+Enterを設定する手順を表示します。
汎用的なオプション
これらの方法は、tmux、screen、SSH セッションを含むすべてのターミナルで使えます。
| 方法 | 説明 |
|---|---|
| \+Enter | バックスラッシュを入力してから Enter を押すと、改行を挿入できます |
| Ctrl+J | 改行の標準制御文字 (ASCII ラインフィード) |
tmux を使用している場合や、他のキーバインドがうまく動作しない場合は、Ctrl+J が最も確実です。
ターミナルの対応
Shift+Enterのネイティブサポート
以下のターミナルでは、追加設定なしで改行にShift+Enterを使用できます。
- iTerm2 (macOS)
- Ghostty
- Kitty
- Warp
- Zed (統合ターミナル)
/setup-terminal が必要
以下のターミナルでは、Option+EnterAlt+Enter で改行できるようにするため、/setup-terminal の設定が必要です。
- Apple Terminal (macOS)
- Alacritty
- VS Code (統合ターミナル)
ターミナルマルチプレクサ
tmux と screen は、Shift+Enter がアプリケーションに届く前に処理します。代わりに、汎用的なオプションを使用してください。
- Ctrl+J — すべてのマルチプレクサセッションで確実に動作します
- \+Enter — こちらもすべての環境で動作します
外側のターミナル (例: iTerm2) で Shift+Enter を設定できますが、このキーバインドは tmux を通過しません。最も安定した操作のために、汎用的なオプションを使用してください。
Vim mode
CLI入力エリアでの移動や編集にVimキーバインドを有効にします。
スラッシュコマンドで切り替える
/vim現在のセッションでVim modeのオン/オフを切り替え、この設定を保存します。
設定で設定する
~/.cursor/cli-config.jsonに追加します:
{ "version": 1, "editor": { "vimMode": true }, "permissions": { "allow": [], "deny": [] }}モード
Vim modeでは、モード編集を使用します。
- ノーマルモード — 移動とコマンドの実行 (Vim modeを有効にした場合のデフォルト)
- 挿入モード — 通常どおりテキストを入力
挿入モードからノーマルモードに戻るには、Escを押します。
ナビゲーション
| キー | 説明 |
|---|---|
| h, l | 左 / 右に移動 |
| j, k | 下 / 上に移動 |
| w, b | 次 / 前の単語へ移動 |
| e | 単語の末尾へ移動 |
| W, B, E | 上記と同様 (WORD、空白を含まない文字列の場合) |
| 0, $ | 行頭 / 行末へ移動 |
編集
| キー | 説明 |
|---|---|
| x | カーソル位置の文字を削除 |
| X | カーソルの前の文字を削除 |
| d + 移動 | 範囲を削除 (例:dw で単語を削除) |
| dd | 行全体を削除 |
| D | 行末まで削除 |
| s | 文字を置換 (削除して挿入モードに移行) |
| S, cc | 行全体を変更 |
| C | 行末まで変更 |
挿入モードに入る
| キー | 説明 |
|---|---|
| i | カーソル位置で挿入 |
| a | カーソルの後に挿入 |
| I | 行頭で挿入 |
| A | 行末で挿入 |
| o | 下に新しい行を追加 |
| O | 上に新しい行を追加 |
回数指定
コマンドの前に数字を付けると、その回数だけ繰り返せます。たとえば、3w は3単語先へ移動し、2dd は2行を削除します。
Vim modeが適用されるのは入力エリアのみです。チャット履歴やその他のUI要素の操作には、標準のキーバインドを使用します。
ターミナルテーマ
Cursor CLI はターミナルのカラースキームを自動検出し、それに合わせて表示を調整します。
自動検出
CLI は標準のエスケープシーケンスを使用してターミナルに背景色を問い合わせます。最新のターミナルのほとんどでこの機能がサポートされています。
- ダークテーマのターミナル → CLI はダークテーマを使用
- ライトテーマのターミナル → CLI はライトテーマを使用
自動検出に対応しているターミナル
以下のターミナルでは、カラースキームが正しく検出されます。
- iTerm2
- Ghostty
- Kitty
- Alacritty
- Apple Terminal
- Windows Terminal
- VS Code 統合ターミナル
テーマを強制的に指定する
自動検出が機能しない場合は、環境変数で上書きできます。
# ダークテーマを強制するexport COLORFGBG="15;0"# ライトテーマを強制するexport COLORFGBG="0;15"永続的に適用するには、これをシェルのプロファイル (.bashrc、.zshrc など) に追加します。
テーマに関する問題のトラブルシューティング
色が正しく表示されない場合:
- ターミナルが256色またはTrue Colorに対応していることを確認してください
TERMが正しく設定されていることを確認してください (例:xterm-256color)COLORFGBGを明示的に設定してみてください
tmuxユーザー:
- 色の検出情報を渡すため、
.tmux.confに以下を追加してください:set -g default-terminal "tmux-256color" set -ag terminal-overrides ",xterm-256color:RGB" - 変更後にtmuxを再起動してください
手動設定
/setup-terminal がお使いのターミナルで動作しない場合は、キーバインドを手動で設定できます。
Option+Enterで改行する
Option+EnterAlt+Enterを押すと、Cursor CLIが改行として認識する特殊なエスケープシーケンスが送信されます。Option+EnterAlt+Enterを押した際にターミナルが\x1b\r (Escapeに続けてキャリッジリターン) を送信するよう設定してください。
iTerm2:
- Preferences → Profiles → Keys → Key Mappingsを開く
- **+**をクリックして新しいマッピングを追加する
- Keyboard ShortcutをOption+EnterAlt+Enterに設定する
- Actionを"Send Escape Sequence"に設定する
- エスケープシーケンスに
\rを入力する
Alacritty:
alacritty.tomlに以下を追加します:
[keyboard]bindings = [ { key = "Return", mods = "Alt", chars = "\u001b\r" }]Kitty:
kitty.confに以下を追加します。
map alt+enter send_text all \x1b\r
Shift+Enter
Shift+Enterのサポートは、ターミナルが修飾キーを正しく認識するかどうかに依存します。最新のターミナルのほとんどでは自動的に処理されますが、一部では設定が必要になる場合があります。
VS Code ターミナル:
VS Code's 統合ターミナルでは、Shift+Enterが正しく渡されない場合があります。keybindings.jsonに以下を追加してください:
{ "key": "shift+enter", "command": "workbench.action.terminal.sendSequence", "args": { "text": "\u001b[13;2u" }, "when": "terminalFocus"}トラブルシューティング
キーバインドが機能しない場合:
catまたはshowkeyを使って、ターミナルがキー入力を正しく検出していることを確認してください- ターミナルマルチプレクサ (tmux/screen) がキー入力を横取りしていないか確認してください
- 確実な代替手���として Ctrl+J を使用してください
tmux ユーザー:
- Shift+Enter と Option+EnterAlt+Enter は tmux 経由では機能しません
- 代わりに Ctrl+J または \+Enter を使用してください
- これらの汎用的なオプションは、ネストした tmux セッションを含め、どこでも機能します
SSH セッション:
- リモートターミナルで利用できる機能は、ローカルのターミナルエミュレータに依存します
- Ctrl+J は SSH 経由でも確実に機能します
- \+Enter も確実な選択肢です
概要
| キーバインド | 対応ターミナル | 備考 |
|---|---|---|
| Ctrl+J | すべてのターミナル | 最も確実で、どこでも使えます |
| \+Enter | すべてのターミナル | 汎用的な代替手段 |
| Shift+Enter | iTerm2、Ghostty、Kitty、Warp、Zed | 標準対応、config不要 |
| Option+EnterAlt+Enter | /setup-terminal 実行後 | Apple Terminal、Alacritty、VS Codeでの改行の代替手段 |