思考を速度に変換せよ:Sublime Text「Multiple Selections」の極意
多くの開発者がVS Codeの波に乗り換える中、それでもなおSublime Textを手放せないエンジニアがいる。なぜか? 理由はシンプルだ。「入力のレイテンシ」と「描画の軽快さ」において、Sublime Textの右に出るものは未だに存在しないからだ。
特にその真骨頂である「Multiple Selections(複数選択)」は、単なるテキスト置換の補助ツールではない。これは、あなたの思考を直接ソースコードに流し込むための「高次元編集エンジン」である。マウスに手を伸ばした時点で、君の生産性は50%低下していると考えろ。
本稿では、この機能を極限まで使いこなし、リファクタリングの速度を3倍に引き上げるための「プロのワークフロー」を伝授する。
—
1. 脳直結のマルチカーソル操作:基本から応用へ
マルチカーソルは「カーソルを置く」という概念から、「選択範囲を拡張する」という概念へシフトせよ。
- `Cmd+D` (Ctrl+D): 次の一致を選択 (Quick Add Next)
単なる検索ではない。現在の単語を選択し、押すたびに次の一致箇所へカーソルを増殖させる。ここで重要なのは「選択した状態で `Cmd+D` を連打する」ことだ。
- `Ctrl+Shift+G` (Alt+F3): 全ての一致を選択 (Find All)
これは「置換」機能の代わりだ。特定の変数名をリネームする際、わざわざ「置換ウィンドウ」を開く必要はない。これ一発で全箇所を選択し、そのままタイピングすれば良い。
- `Cmd+L` (Ctrl+L): 行全体を選択
マルチカーソルと組み合わせることで、複数行を一度にコメントアウトしたり、インデントを揃えたりする際の「起点」となる。
【練習問題】爆速リファクタリング
以下のJSON風のデータ構造に対し、キー名 `id` を `uuid` に変更しつつ、値をすべて `null` に書き換える作業を、「マウスを一切触らず」に行ってみよう。
{ “id”: 101, “name”: “Alpha” },
{ “id”: 102, “name”: “Beta” },
{ “id”: 103, “name”: “Gamma” }
1. 最初の `id` にカーソルを合わせる。
2. `Ctrl+D` を2回叩き、全 `id` を選択。
3. `uuid` と入力。
4. `Right` キーで選択を解除し、`: ` の後へカーソルを移動。
5. `Ctrl+Shift+Right` で値を選択。
6. `null` と入力。
この一連の流れを2秒以内に完結できなければ、君はまだSublime Textのパワーを10%も引き出せていない。
—
2. 神プラグイン:生産性を底上げする「最後の一手」
Sublime Textの哲学は「究極のミニマリズム」だが、実務を回すには拡張が不可欠だ。
- `AdvancedNewFile`: ファイル作成時にディレクトリ構造まで自動生成する。パスを入力するだけで、存在しないディレクトリを再帰的に作ってくれる。
- `BracketHighlighter`: 巨大なネスト構造を扱う際、括弧の対応を一目で把握する。大規模リファクタリング時のミスを物理的に防ぐ。
- `Package Control`: これなしには始まらない。全プラグイン管理の基盤。
—
3. 設定ファイルのベストプラクティス:チーム開発の規律
個人の好みで設定をいじるのは自由だが、チーム開発では「フォーマットの揺らぎ」が最大の敵となる。`Sublime-settings` を共有し、プロジェクト単位で統一した開発環境を強制せよ。
`Project.sublime-project` の構成例
プロジェクトルートに配置し、チーム全体で共有する。
{
“settings”: {
// タブではなくスペースを使用。エンジニア間の論争を物理的に封じる
“translate_tabs_to_spaces”: true,
“tab_size”: 4,
// 保存時に自動で末尾の空白を削除。Gitの不要な差分を排除する
“trim_trailing_white_space_on_save”: true,
// 最終行の改行を強制。UNIX系環境での予期せぬエラーを防ぐ
“ensure_newline_at_eof_on_save”: true,
// 検索時のパフォーマンスを最適化
“find_selected_text”: true
}
}
—
4. 最後に:アーキテクトからのアドバイス
Sublime Textで最も重要なのは「キーボードショートカットを暗記すること」ではない。「どの操作を反復しているか」に気づくことだ。
もし君が今日、同じ修正を3回以上繰り返したなら、それは自動化すべきパターンである。マクロを組むか、Snippetを登録するか、あるいは複数選択を駆使して一撃で終わらせる方法を考えること。
ツールは君の思考の延長線上でなければならない。マウスをクリックするその0.5秒の間に、君の脳内にある「素晴らしい解決策」が霧散してしまうかもしれないからだ。
さあ、今すぐ設定ファイルを開き、自分の指とエディタを同期させろ。開発現場で「あの人のコード修正は魔法のようだ」と言わせる準備は、もう整っているはずだ。