Edited at

Sublime Text2の複数カーソルの使い方

More than 5 years have passed since last update.


複数カーソルとは

Sublime Text2では複数のカーソルを出して複数の箇所を同時に編集できます。

その基本的な使い方をまとめました。


ソースコード内の複数の単語を変更する

公式ページの1番目の例です。複数箇所に存在する単語を別の文字列に置き換えてみます。

全てのdouble型の変数をfloat型に変換してみます。


編集前

public class Test {

private double aaa;
private double bbb;
public double ccc;
}


編集後

public class Test {

private float aaa;
private float bbb;
public float ccc;
}


  1. 変更したい対象の単語(double)にカーソルを合わせてCmd+Dを押す

  2. この状態で編集対象の選択モードになる。Cmd+Ctrl+Gで同じ単語をすべて選択する

  3. すべての"double"に入力カーソルが作成されるので"float"を入力する

"st01"


tips


  • escで単一のカーソルに戻る


  • Cmd+Dでフォーカスが当たっている要素を選択状態にして次の要素へ(Cmd+Shift+Gで前の要素へ)


  • Cmd+Lでカーソルの1行を選択状態にする


  • Cmd+Dで単語を選択状態にする


  • Cmd+Gでフォーカスを移動(単一の選択のみ)


  • Cmd+Ctrl+Gでフォーカスが当たっている単語と同じ単語をすべて選択


  • Shift+Ctrl+UPで上の行を選択状態にする


  • Shift+Ctrl+DOWNで下の行をを選択状態にする


複数行をまとめて編集する+α

公式ページの2番目の例です。改行されている複数の文字列の前後にダブルクォートを追加し、コンマを追加して、鍵括弧を前後に追加するということをやっていました。同じ操作をやってみます。


編集前

Mon

Tue
Wed
Thu
Fri
Sat


編集後

date = ["Mon","Tue","Wed","Thu","Fri","Sat"]




  1. Cmd+Aですべて選択


  2. Cmd+Shift+Lで選択中の要素の末尾にカーソルを作る


  3. Ctrl+Aで行頭に戻りダブルクォート(")を入力


  4. Ctrl+Eで行末に移動してダブルクォート(")とカンマ(,)を入力


  5. fn+deleteで改行を削除


  6. Escで複数行編集モードを抜ける


  7. Control+Eで末尾に戻り、最後のカンマを消す


  8. Cmd+Lで1行選択し、開きかっこ([)を入力する。同時に閉じ括弧(])も入力される


  9. Ctrl+Aで行頭に戻って変数名とイコールを入力

"st03"


検索した結果を使って編集する

カンマ区切りになっているテキストに対して、カンマの後にスペースを挿入したいケースを考えます。

こういう場合は検索した結果から複数のカーソルを作成し、編集すると便利です。


編集前

date = ["Mon","Tue","Wed","Thu","Fri","Sat"]



編集後

date = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]




  1. Cmd+Fで検索バーを開く

  2. テキストボックスにカンマ(,)を入力する

  3. マッチしたもの全てをCmd+Ctrl+Gで編集状態にする


  4. Escで検索バーを閉じる

  5. カンマとスペースを入力する

"st04"


tips


  • 置換と違うのは入力時に補完が効くところ。長いクラス名や型名を置換するときに便利です

  • 検索バーを出した状態でCmd+Alt+Rを押すと正規表現も使えます

"st02"