【Android Studio】矢印キー(カーソルキー) を使わない排除したキーマップ【macOS】

スポンサーリンク

できれば、カスタムせずにデフォルトのままで自分側を対応させたかったmacOSキーマップ。

コロナの影響かなんとなくショートカットでイライラしすぎなので、少し考えて整理してみようと思いました。


👉 キーボード ショートカット  |  Android デベロッパー  |  Android Developers 


👉 Android Studio/IDEA Default Keymap 

 

カーソルキーが問題では?

きっとこれです。どの指で触るかさえ悩んでしまうカーソルキー。

小指以外で触れば、ホームポジションから指が離れてしまう。

👉 スラドに聞け:矢印キーの押し方は | スラド Slashdotに聞け 

カーソルキーを使うショートカットを眺めます。

Android Studio - macOS keymap

うーん、カーソルキーを使うショートカット自体は少ないが…

 

カーソルキーを使う操作

実際のカーソルキーを使う操作を考えてみると、以下の3つ。


- カーソルの移動

- テキストの選択/解除

- カーソルキーを利用したショートカット

それぞれ見ていきます。

 

カーソルの移動

EmacsやMac上のアプリでは、カーソルキーを利用することなくカーソル位置を自在に動かすことができます。


⌃(Control) + p : 1行上に移動 (↑)

⌃(Control) + n : 1行下に移動 (↓)

⌃(Control) + f : 1文字前に移動 (→)

⌃(Control) + b : 1文字後に移動 (←)

また、テキストの選択に非常に便利な、以下の2つのショートカットもデフォルトですぐに利用することができます。


⌃(Control) + a : 行の先頭に移動

⌃(Control) + e : 行の末尾に移動

👉 Mac のキーボードショートカット – Apple サポート 

 

テキストの選択/解除

Emacs でいうところの「Mark-Set」、AndroidStudio 上での macOS キーマップでいうところのアクション「Toggle Sticky Selection」を使うことで選択範囲の開始です。ショートカットの「⌃(Control) + space」に上書きして使います。

選択範囲を開始したら、前述のカーソルキーの移動を使って範囲を調整します。

選択の解除は、Android Studio macOSキーマップでいうところの「Escape」が該当します。

これらの操作は、Emacs のデフォルトキーバインドと同じ操作となっています。Mac の標準的なソフトウエアでも利用できるものが少なくありませんので覚えておくといいと思います。

 

カーソルキーを利用したショートカット

前述のキーマップPDFに記載のように、macOSキーマップにはカーソルキーを利用したショートカットが登録されています。

「Shrink/Extend Selection」などは、あちこちの記事で便利で使えると言われていることが多いです。

その他、お好みで多用するショートカットが使いづらいようであれば、利用していないショートカットキーに登録するのも良いでしょう。

 

まとめ

私の感覚で言うと、カーソルキーを使わず Emacs/Mac 系ショートカットたちをエディタで使うには、あといくつかのショートカットを登録しておくとストレスが少ない。

👉 To keep on your keyboard home position for Android Studio 

macOS 上で、コーディングを含むテキストの編集なら、ホームポジションを考慮した emacs/mac 系ショートカット操作が最強に思っていますが、マウスやトラックパッドも触るっちゃあ触ってるけども、これがスッキリする。

👉 MacBook Proの「バタフライキーボード」補足。困った矢印キーと適切な修飾キー刻印。: パワーリンゴ 
👉 Controlキーで自由自在にカーソルをコントロール!テキスト入力が超捗るショートカットキーまとめ|スーログ 
👉 keymaps at master · JetBrains / intellij-community 
👉 Configure TAB to indent current line? – IDEs Support (IntelliJ Platform) | JetBrains 
👉 AndroidStudioをemacsのキーバインドにしよう – Qiita 
👉 Mac のキーボードショートカット – Apple サポート