Jetbrains系IDEのショートカットのメモ



昔使ってた、eclipseのショートカットになじみすぎてJetbrais系のIDEを使うときはいちいちカスタマイズして使っていたけど、それはよくないよという意見もちらほらあったりするので、面倒だけども、元々のバインディングを使うことにした。慣れるまで時間がかかりそうだし、いちいち忘れそうなのでメモっておくことにした。 
ただ、一部のコマンドはデフォルトのままだと、つらいものもあるので変更したものもある。


<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">eclipseからidea に乗り換えた時にやってしまいがちなミスがeclipseバインディングを使おうとすることです。idea使うなら素直にネイティブバインディング使ったほうが100%の力を引き出せますよ。</p>&mdash; tokuhirom (@tokuhirom) <a href="https://twitter.com/tokuhirom/status/717858037432627200">2016年4月6日</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

## Key Maps Table

### Editing（編集系）
| Editor Action | アクション | Key Map| Key Map 変更・追加|
|:---------------|:-----------|:-----------|:-----------|
| Basic code completion    | メソッド、変数のコード補完 | ⌃ + Space    | 追加：⌘ + Space    |
| Complete current statement    | 現在の記述を完了させる | ⌘ + ⇧ + ↩|    |
| Delete Line    | 行削除 | ⌘ + ⌦    |追加：⌘ + D|
| Duplicate Lines or Block    | 行を下の行にコピー | ~~⌘ + D~~    | 変更：⌘ + P   |
| Start new line    | 新しく下の行に移動 | ⇧ + ↩|    |
| Move line selection up    | 行を上に移動 | ⇧ + ⌥ + ↑|    |
| Move line selection down    | 行を下に移動 | ⇧ + ⌥ + ↓|    |
| Move Caret Previous Word with Selection    | カーソルを前に選択した箇所へ | ⌥ + ⌘ + ←|    |
| Move Caret Next Word with Selection    | カーソルを次に選択した箇所へ | ⌥ + ⌘ + →|    |
| Split Vertically    | 画面分割（垂直） | |⇧ + ⌘ + v    |
| Split Horizontally   | 画面分割（水平） | |⇧ + ⌘ + h    |



### Navigation（案内系）
| Editor Action | アクション | Key Map|
|:---------------|:-----------|:-----------|
| Manage Projects    | プロジェクトのリスト表示（移動） | ⌘ + @ |
| Go to class    | class名からファイルを検索 | ⌘ + o|
| Go to file    | ファイル名からファイルを検索 | ⌘ + ⇧ + o|
| Go to line    | 行数を指定して移動 | ⌘ + L|
| Go to declaration    | 定義元へジャンプ | ⌘ + B or ⌘ + Click |
| Go to previous method   | 上のメソッドへ移動 | ⌃ + ↑ |
| Go to next method   | 下のメソッドへ移動 | ⌃ + ↓ |
| Navigate back  | 元のカーソル位置へ戻る | ⌘ + ⌥ + ← |
| Navigate forward  | 次のカーソル位置へ進む | ⌘ + ⌥ + → |
| Recent files popup   | 最近開いたファイルを一覧表示 | ⌘ + E |
| Move current tab right    | 右のタブに移動 | ⌘ + ⇧ + [|
| Move current tab left    | 左のタブに移動 | ⌘ + ⇧ + @|

※　Go to previous/next method の ⌃（コントロールキー）と矢印を使ったメソッドはMacのデフォルトのショートカットキーとかぶっている。Rubymineのほうをそのまま使いたければMacでわりあてられているショートカットキーを解除してしまおう。 Keyboard → Shortcuts → Mission controlの部分だ。

### Search/Replace（検索／置換系）
| Editor Action | アクション | Key Map|
|:---------------|:-----------|:-----------|
| Seach everywhere   | 全てを検索 | Double Shift |
| Find     | ファイル内テキスト検索| ⌘ + F|
| Replace     | ファイル内置換| ⌘ + R|
| Find in Path    | テキストの存在するパスをみつける(grep) | ⌘ + ⇧ + F|
| Replace in Path    | 置換して対象となったパスをみつける | ⌘ + ⇧ + R|


### RubymineというよりMacのショートカットキー
| Editor Action | アクション | Key Map|
|:---------------|:-----------|:-----------|
| Undo     | 元にもどす| ⌘ + Z|
| Redo     | 元に戻したのを再度実行| ⌘ + ⇧　+ Z|
| Move caret skip word right   | 単語スキップしながら右に移動| ⌥ + →|
| Move caret skip word left   | 単語スキップしながら左移動| ⌥ + ←|
| Move caret to end   | 行末に移動| ⌘ + →|
| Move caret to start   | 行の開始位置に移動| ⌘ + ←|

随時付け足していくつもり。

## 補足

装飾キーについて
Option (⌥) は、動作を切り替える (スイッチする) キーです。

[装飾キー](http://penguinlab.jp/blog/post/2035)
[Mac の装飾キーの記号は、慣れないと分かりづらい](http://beadored.com/mac-decorative-key-symbol/)
[Rubymine Key Maps Refrence](https://resources.jetbrains.com/assets/products/rubymine/RubyMine_ReferenceCard_mac.pdf)