---
# System prepended metadata

title: Goland のショートカットキーについて

---

Goland のショートカットキーについて
==============================

このページは [@shumon84 が使っているキーバインド設定](https://cdn.discordapp.com/attachments/800092043187716127/875358038322737213/settings.zip) を前提として書いています。

ショートカットキーの表記は Ctrl キーをC、Alt キーを M と表します。
C-pであればCtrlとp、M-pであればAltとpを押す、ということです。

[TOC]

## トップ Tier ショートカットキー
1軍。めちゃくちゃ使用頻度高いので絶対覚えよう。

| キーストローク | 機能 |
| -- | -- |
| `C-a` | カーソルを行頭に動かす |
| `C-k` | カーソル位置から行末までカット(連打可能) |
| `C-w` | カット |
| `C-y` | ペースト |
| `C-shift-s` | プロジェクト内全文検索 |
| `C-M-g` | 定義ジャンプ、参照ジャンプ |
| `Shift-F6` | リネーム |
| `C-g` | キャンセル <br> 意図せず謎のショートカットが発動してしまったときは押すと良い |
| `C--` | undo |


## よく使うショートカットキー一覧
特殊なショートカットばかりで面倒くさく感じると思いますが、慣れればマウスを触らずになんでもできるようになるので、最初は使いづらくても積極的に使っていきましょう。

### カーソル移動系

矢印キーでカーソルは操作できるけど、矢印キーを使うと指がホームポジションから離れてしまって入力が遅くなるので、できるだけ矢印キーは使わずにショートカットで移動するようにしよう

| キーストローク | 機能 |
| -- | -- |
| `C-f` | カーソルを1文字前に動かす <br> (←キーと同じ動作) <br> Forward の F |
| `C-b` | カーソルを1文字後に動かす <br> (→キーと同じ動作) <br> Backward の B |
| `C-n` | カーソルを1行下に動かす <br> (↓キーと同じ動作) <br> Next Line の N |
| `C-p` | カーソルを1文字上に動かす <br> (↑キーと同じ動作) <br> Previous Line の P |
| `C-a` | カーソルを行頭に動かす |
| `C-e` | カーソルを行末に動かす |
| `C-x [` | カーソルをファイルの先頭に動かす |
| `C-x ]` | カーソルをファイルの末尾に動かす |

### コピペ&編集系

| キーストローク | 機能 |
| -- | -- |
| `C-w` | カット |
| `M-w` | コピー |
| `C-y` | ペースト |
| `C-k` | カーソル位置から行末までカット(連打可能) |
| `C-x h` | 全範囲選択 |
| `C-h` | カーソルの1文字前を消す <br> (backspace キーと同じ動作) |
| `C-d` | カーソルの位置の文字を消す <br> (delete キーと同じ動作) |
| `C-m` | 改行 <br> (enter キーと同じ動作) |
| `M-;` | 選択範囲をコメントアウト <br> 選択していない場合は現在の行をコメントアウト |
| `C--` | undo |
| `C-shift--` | redo |

### 検索系

| キーストローク | 機能 |
| -- | -- |
| `C-s` | ファイル内全文検索 |
| `C-shift-s` | プロジェクト内全文検索 |
| `C-M-g` | 定義ジャンプ、参照ジャンプ |
| `C-M-←` | 1つ前のカーソル位置にジャンプ |
| `C-M-→` | 1つ後のカーソル位置にジャンプ |

### 置換系

| キーストローク | 機能 |
| -- | -- |
| `M-%` | ファイル内テキスト置換 |
| `Shift-F6` | リネーム |

### ファイル操作系

| キーストローク | 機能 |
| -- | -- |
| `C-x C-k` | 現在のファイルを閉じる |
| `C-x C-c` | 全てのファイルを閉じる |
| `C-x C-s` | ファイルを保存 <br> (Goland は自動保存してくれるけど、手動でセーブしたいときに使う) |
| `C-x C-f` | ファイルを開く |

## なんでこんな変なショートカットキー使わなあかんねん

プログラムのソースコードのような単純なテキストファイルを書くツールのことをテキストエディタといいます。

テキストエディタはものすごく沢山ありますが、「Emacs」と「Vim」という 2 つのソフトが長い間支持され、ほとんどの人はこの 2 つのうちどちらかを愛用するようになりました。

Emacs や Vim は何十年も前から存在するソフトで、作られた当時は

- 「Ctrl + C」でコピー！
- 「Ctrl + V」でペースト！

というような「ショートカットあるある」も存在しない時代でした。

そのため、この 2 つのソフトには、現在よく使われているショートカットキーと、全く違うショートカットキーが設定されています。
(「ショートカットキー」という言葉もなかった時代なので、「キーバインド」と呼ばれています)

プログラマはテキストエディタが大好きで、自分の作ったソフトには自分が使っているテキストエディタと同じキーバインドを設定しました。

その結果「Emacs風キーバインドで操作できるツール」「Vim風キーバインドで操作できるツール」というツールが世の中には大量に存在します。

現在は Emacs と Vim のシェアは落ちてきていますが、依然として「Emacs風キーバインド」「Vim風キーバインド」のツールはたくさん使われているので、それらのキーバインドに慣れておくと、新しいツールを使うときに少し使いやすくなるので、ぜひ Goland にもどちらかのキーバインドを設定して慣れておきましょう。
