メインコンテンツまでスキップ

Cursor マルチカーソル編集:AI 駆動の一括編集

Cursor Multi-Cursor

Cursor は、従来の IDE のマルチカーソル機能と AI 駆動のインテリジェンスを組み合わせ、一括コード編集をこれまで以上に高速にします。このガイドでは、基本的な複数行選択から AI 支援の大規模リファクタリングまでをカバーします。

前提条件​

開始する前に:

  • Cursor をインストール(最新バージョンを推奨)
  • 基本的なテキスト編集ショートカットに精通していること
  • 実験できるプロジェクト

基本マルチカーソル​

コアショートカット​

操作Windows/LinuxmacOS
下にカーソルを追加Ctrl+Alt+DownCmd+Option+Down
上にカーソルを追加Ctrl+Alt+UpCmd+Option+Up
次の一致にカーソルを追加Ctrl+DCmd+D
すべての一致にカーソルを追加Ctrl+Shift+LCmd+Shift+L
最後のカーソルを元に戻すCtrl+UCmd+U
現在の行を選択Ctrl+LCmd+L

基本例​

単一行を配列に変換:

// 前:
apple
banana
cherry

// 1. 各行の末尾にカーソルを配置(Ctrl+Alt+Click)
// 2. `',` と入力
// 3. すべて選択して括弧を追加
// 後:
['apple',
'banana',
'cherry']

インテリジェントなマルチカーソル選択​

AI セマンティック選択の使用​

Cursor の AI はコード構造を理解できます。変数で Ctrl+D を押します:

// 最初の "user" にカーソルがある
const user = await getUser();
const userData = formatUser(user);
sendEmail(user.email);

// Ctrl+D で "user" を選択し、もう一度 Ctrl+D を押す
// プロパティアクセスではなく変数参照のみを選択

列選択モード​

// 複数列を選択してオブジェクトをリファクタリング:
const data = {
id: 1,
name: 'John',
};

// Alt+Shift+Click で列を選択
// すべての値を同時に編集可能

AI 駆動の一括リファクタリング​

インライン AI 編集に Ctrl+K を使用​

  1. 複数行を選択
  2. Ctrl+K を押す
  3. 変更を記述:
すべての console.log ステートメントを構造化ログに変換する

前:

console.log('User logged in', userId);
console.log('Fetching data', endpoint);
console.log('Error occurred', error);

後:

logger.info('User logged in', { userId });
logger.info('Fetching data', { endpoint });
logger.error('Error occurred', { error });

@ 記号を使用した大規模な名前変更​

すべての User 参照を Customer に変更する
ただし型定義と import ステートメントは除く

高度なパターン​

複数ファイルを同時に編集​

コマンドパレットを開く (Ctrl+Shift+P)
> "Add Selection to Next Find Match"
複数ファイル間で一致箇所を操作

正規表現マルチカーソル​

検索: (const|let|var)\s+(\w+)
置換: $1 $2

正規表現検索時に Alt+Enter を押す
すべての一致箇所にカーソルを配置

クイック編集ショートカット​

操作ショートカット
行をコピーCtrl+Shift+D
行を上/下に移動Alt+Up/Down
行を削除Ctrl+Shift+K
コメントを切り替えCtrl+/
インデント/アンインデントCtrl+]/[
選択範囲を括弧で囲むCtrl+Shift+(

実践例​

API レスポンスに型を追加​

// 前
const data = await fetch('/api/users');

// 1. すべての fetch 呼び出しにカーソルを配置
// 2. Ctrl+K を使用:
// "レスポンスに User[] 型注釈を追加する"

// 後
const data: User[] = await fetch('/api/users');

Error Boundary を一括追加​

// 前
function ComponentA() { ... }
function ComponentB() { ... }
function ComponentC() { ... }

// すべての関数を選択
// Ctrl+K: "各関数を ErrorBoundary でラップする"

// 後
function ComponentA() {
return (
<ErrorBoundary>
...
</ErrorBoundary>
);
}
// ... など

ヒントとコツ​

  1. 選択から始める:AI 編集を呼び出す前に、常に対象コードを選択する
  2. 組み合わせる:複雑なリファクタリングにはマルチカーソル + Ctrl+K を使用
  3. 変更をプレビュー:AI diff ビューを使用して、編集を適用する前に確認する
  4. スニペットを保存する:一般的なリファクタリングを Cursor コマンドとして保存する

関連リソース​

最終更新:2025 年 7 月