irohiroki's blog 2

Web apps and Geekies

おれとさぶらいむてきすとの複数選択

このエントリはおれのさぶらいむてきすと Advent Calendar 2013の13日目です。昨日は@jugyo さんのおれのさぶらいむてきすとのスニペット作成 – SnippetMaker プラグインでした。

今日は置換の話の続きとして、複数選択のやり方について書いてみます。

^⌘G

このショートカットはFindメニューの中にある Quick Find All というもので、カーソルが乗ってる単語をファイル内で全て見つけて選択します。WindowsとLinuxの人は⌘の代わりにWindowsキーです。実際の動作は前回アニメGIFで紹介してますので、よかったら参考にしてください。

Quick Find Allは単純に単語を選択するときは最強ですが、単語と記号が混じってる範囲を選択するとか、ファイル全体ではなく一部から選択するといった時には向いていません。

⇧⌘L

これはSelectionメニューの中にある Split into Lines というショーカットで、複数行を1つの範囲として選択しているとき、それを行毎に別の選択範囲にしてくれます。例えば

複数行単一選択

Split into lines

にしれくれます。どういう時に使うかというと、僕はとりあえず選択範囲の全ての行にカーソルが欲しいときに使ってます。その後に選択範囲を直したり、カーソルを移動したり、実際に変化を見ながら操作してます。

⌘D / ⌘K, ⌘D / ⌘U

⌘DはSelectionメニューの Expand Selection to Word ですが、何か選択してる時としてない時では動作が違います。何か選択してる時は、その選択範囲と同じ文字列を探して2つ目の選択範囲にします。何も選択してないときは、カーソルの乗ってる単語を選択します。

よって、英数字だろうが日本語だろうが記号が混ざってようが、何か複数選択したいときはとりあえず1つ目を手作業で選択し、あとは ⌘Dで増やしていける ことになります。

⌘K, ⌘Dは、⌘Kの後に⌘Dを押すという意味で、⌘Dで増やした選択を解除して、次の一致する文字列を選択します。つまり 1つ飛ばして次を選択できる ということです。

⌘Dは、複数選択に限らず、カーソルや選択範囲の状態を 1つ前に戻す(Undo) ショーカットです。

これらを組み合わせるとかなり自由に選択範囲を増やしていけます。例を見てみましょう。

super + d

  1. 最初の「”」を選択
  2. 次の「”」は飛ばす
  3. 3個目の「”」を選択
  4. 4個目の「”」はUndo

という操作で最終的に2個の選択範囲を作っています。この選択方法では一つ一つ選択するか否か選べますが、その半面時間がかかりますね。

まとめ

Sublime Textの特長である複数選択を作り出す方法はいくつもあります。状況に合わせて使い分けられれば効率的でしょう。

最後にお願いです。 正規表現でファイル全体から選択する方法 を知ってる人は教えてください!!!