「行を複製しようとして⌘ + Dを押したら、複製されずに同じ単語が選択されてしまった」—— JetBrains系IDE(Integrated Development Environment・統合開発環境)からVS Codeに乗り換えた人が 必ずと言っていいほど経験するつまずきです。 あるいは、マウスで1行ずつドラッグして選択し、削除キーを何度も押して行を消している人も少なくありません。 VS Codeには数百のショートカットが存在しますが、実務の体感速度を大きく変えるのはそのうちのごく一部です。 この記事ではコマンドパレット・行操作・マルチカーソル・検索置換・画面分割の5つに絞って 必修ショートカットを整理し、Windows/Mac両方の表記とVim・JetBrainsからの乗り換え時の注意点もあわせて紹介します。
1. まず覚える基本 — コマンドパレット・クイックオープン
すべての操作の起点になるのがこの2つです。ファイル名やコマンド名を覚えていなくても、 キーワードの一部を入力するだけで目的の操作にたどり着けます。
| 操作 | Mac | Windows | 用途 |
|---|---|---|---|
| コマンドパレット | ⌘ + ⇧ + P | Ctrl + Shift + P | すべての機能をキーワードで検索・実行 |
| クイックオープン(ファイル検索) | ⌘ + P | Ctrl + P | ファイル名の一部でファイルを開く |
| ファイル内シンボル検索 | ⌘ + ⇧ + O | Ctrl + Shift + O | 関数・クラス名でファイル内を検索 |
コマンドパレットはVS Codeの全機能への入り口です。メニューを何階層も辿るより、 Cmd+Shift+Pを押して機能名の一部を打つ方が確実に速く、ショートカットが割り当てられていない コマンド(ミニマップの表示切り替えなど)を実行するときにも使えます。
2. 行操作で編集速度を上げる
マウスでドラッグして選択・削除・移動する作業は、慣れると本当に不要になります。 以下の5つはコーディング中に最も頻繁に使う行操作です。
| やりたいこと | Mac | Windows |
|---|---|---|
| 行を複製(下に) | ⌥ + ⇧ + ↓ | Alt + Shift + ↓ |
| 行を複製(上に) | ⌥ + ⇧ + ↑ | Alt + Shift + ↑ |
| 行を上下に移動 | ⌥ + ↑ / ↓ | Alt + ↑ / ↓ |
| 行を削除 | ⌘ + ⇧ + K | Ctrl + Shift + K |
| 行をコピー(選択なしで現在行) | ⌘ + C | Ctrl + C |
特に行の複製と移動は、似た処理を1行下・1行上に増やしたいときに効果を発揮します。 マウス操作だと「選択→コピー→カーソル移動→貼り付け」の4手順が必要な作業を、 キーひとつで済ませられます。
3. マルチカーソルで同時編集する
複数箇所にカーソルを置いて同時に編集できるのがVS Codeの強力な機能です。 変数名の一括変更や、揃った形式のテキストを一気に書き換えるときに活躍します。
| やりたいこと | Mac | Windows |
|---|---|---|
| 同じ単語を選択し、押すたびに次の一致も追加選択 | ⌘ + D | Ctrl + D |
| 同じ単語をすべて一括選択 | ⌘ + ⇧ + L | Ctrl + Shift + L |
| 上/下の行にカーソルを追加 | ⌘ + ⌥ + ↑ / ↓ | Ctrl + Alt + ↑ / ↓ |
| 矩形選択(列選択) | ⌥ + ⇧ + ドラッグ | Alt + Shift + ドラッグ |
⌘ + D(WindowsはCtrl + D)は 同じ変数名を数か所だけ書き換えたいときに便利です。リネーム機能(F2)を使うほどではない 一時的な書き換えや、コメントアウトされたコードを含めて変更したい場合など、 F2の一括リネームより細かく対象を選びたいときに使います。
矩形選択は、コピーしてきたCSV風のテキストや揃った桁のログの一部だけを縦に切り出したいときに便利です。 マウスドラッグの代わりに、選択後カーソルキーの上下でも矩形範囲を伸ばせます。
4. 検索・置換を使いこなす
ファイル内・プロジェクト全体という2つのスコープと、正規表現モードの組み合わせを理解しておくと、 大規模な書き換えも一気に片付けられます。
| やりたいこと | Mac | Windows |
|---|---|---|
| ファイル内検索 | ⌘ + F | Ctrl + F |
| ファイル内置換 | ⌘ + ⌥ + F | Ctrl + H |
| プロジェクト全体検索 | ⌘ + ⇧ + F | Ctrl + Shift + F |
| プロジェクト全体置換 | ⌘ + ⇧ + H | Ctrl + Shift + H |
| 正規表現モードの切り替え(検索バー内) | ⌘ + ⌥ + R | Alt + R |
ファイル内置換だけはMacとWindowsでキーの傾向が異なり、Macは⌘ + ⌥ + F、 WindowsはCtrl + Hという覚え方の異なるキーが割り当てられています。他の操作のような単純な 「⌘→Ctrl、⌥→Alt」の読み替えが通用しない数少ない例なので、意識して覚えておくと迷いません。
検索バーの正規表現モードをオンにしてプロジェクト全体置換を行うと、書き方次第で 意図しない範囲まで一致して書き換わってしまうリスクがあります。パターンに自信がない場合は、正規表現テスターで実際にマッチする範囲を事前に確認してから置換を実行すると安全です。 入力したテキストがサーバーに送信されることもなく、ブラウザ内だけで動作を確かめられます。
5. エディタ分割・タブ移動で画面を整理する
複数ファイルを見比べながら作業するときは、タブの切り替えとエディタ分割を組み合わせると効率が上がります。
| やりたいこと | Mac | Windows |
|---|---|---|
| エディタを右に分割 | ⌘ + \ | Ctrl + \ |
| 次のタブに切り替え | ⌘ + ⌥ + → | Ctrl + PageDown |
| 前のタブに切り替え | ⌘ + ⌥ + ← | Ctrl + PageUp |
| サイドバーの表示/非表示 | ⌘ + B | Ctrl + B |
| 統合ターミナルの表示/非表示 | ⌃ + ` | Ctrl + ` |
エディタ分割は、実装ファイルとテストファイルを並べて見比べたいときや、 設定ファイルを参照しながら別のファイルを編集したいときに特に有効です。 サイドバーとターミナルを必要なときだけ表示する習慣をつけると、 画面が狭いノートPCでもコード領域を広く保てます。
6. Vim・JetBrainsから乗り換えた人がハマりやすい罠
他のエディタから移ってきた人は、体に染みついたキー操作とVS Codeの割り当てが食い違って 誤動作しがちです。代表的な4つの罠を整理します。
| 操作 | JetBrains / Vim での操作感 | VS Codeでの実際の動作 |
|---|---|---|
| ⌘ + D | JetBrains: 現在行を複製 | 同じ単語を順次選択(行複製は⌥+⇧+↓) |
| 選択範囲の拡張 | JetBrains: ⌃+Wで単語→式→行→ブロックと段階的に拡張 | ⌘+⇧+⌃+→でSmart Select(拡張の粒度はやや異なる) |
| やり直し(Redo) | Vim: Ctrl + R(他のエディタとは大きく異なる) | ⌘ + ⇧ + Z(Windowsは Ctrl + Shift + Z) |
| 矩形選択・複数行同時入力 | Vim: Ctrl + Vでビジュアルブロックモードに入り、Iで各行先頭に入力 | ⌥+⇧+ドラッグで矩形選択、通常のマルチカーソルで同時入力 |
特に⌘ + Dの意味の違いは影響範囲が大きく、慣れるまでは無意識に押して事故を起こしやすい操作です。 どうしてもVimのキーバインドを手放したくない場合は、VS Code拡張機能のVimエミュレーター (VSCodeVimなど)を導入すれば、モード切り替えやdd・yyといった主要な操作をVS Code上でもそのまま再現できます。
自分の使うエディタ・IDEごとの対応キーをまとめて確認したい場合は、エディタ キーボードショートカット横断検索でVS Code・JetBrains・Vim・Cursorのキーを「やりたいこと」から並べて比較できます。
まとめ
- 迷ったらまずコマンドパレット(Cmd+Shift+P / Ctrl+Shift+P)を開けば大抵の操作にたどり着ける
- 行複製・行移動・行削除を覚えるだけでマウス操作の大半が不要になる
- マルチカーソル(⌘+D系)は変数名の部分的な書き換えに強い。全置換したいなら⌘+⇧+Lか置換機能を使う
- 正規表現を使った一括置換は影響範囲が大きいので、実行前にプレビューか正規表現テスターで確認する
- JetBrainsからの乗り換えは⌘+D(行複製 vs 単語選択)の意味の違いに要注意
- OSをまたぐ場合は⌘→Ctrl・⌥→Altの読み替えが基本だが、ファイル内置換など例外もある
- より多くのキーやエディタ間の比較を確認したいときはエディタ キーボードショートカット横断検索、OS標準のショートカットとの違いを確認したいときはOSショートカットキー横断検索が便利