技術

JetbrainsのMnemonicにカスタムキーを追加

少し前からJetbrainsのkeymapをMnemonicにしています。

Jetbrainsのキーマップ Mnemonicを使ってみたJetbrainsのキーマップ、Mnemonicを試してみました。その感想になります。 導入経緯 とある案件でREST APIを構築...

もうだいぶ手になじんできて、このkeymapなしでJetbrainsを使うことは考えられないぐらいになってきました。

個人的にデフォルトだとちょっと使いづらいところがあったのですが、いくつかカスタムを加えてだいぶ使いやすくなりました。以下、私がオリジナルで加えたカスタムになります。

Editor Actions

Move Caret Backward a Paragraph / Move Caret Forward a Paragraph

F8 / F7

Jetbrainsだけでなくエディタ全般に言えることなんですが、エディタはカーソルの横移動の方法はそろっていますが、縦移動はいまいちなことが多いです。Jetbrainsも例外ではなく、デフォルトだとカーソルの縦移動がやりづらいです。

といういわけで、カーソルの縦移動を簡単にやりたかったので追加しました。

デフォルトでも Cmd+F1/F2でメソッド移動できるのですが、キーがちょっと押しづらいのと、メソッド単位でなくもう少し細かい単位で移動したかったので足しました。私のキーボードのキーレイアウトだと、j,kの上がF7,F8なので指的にも無理なく上下移動ができます。

Delete Line

Cmd + Backspace

Mnemonicだと、行削除は Cmd + L -> X ですが、タイプしづらいです。私は連続で行削除をすることが多く、これをコンビネーションキーでやるには無理があります。

Cmd + Xでも行削除はできるのですが、これは正確には切り取りであり、クリップボードに中に格納されます。行削除変わりに使うと、クリップボードが荒れるので、このキーとは別のキーが欲しかったです。

なので、Jetbrainsのデフォルトの行削除のショートカットキーを追加しました。

Scroll Down / Scroll UP

Cmd + Alt + ↑↓

とにかくマウスとキーボード間の移動を少なくしたいので、カーソル移動はできるかぎりキーボードでやるようにしています。そうしていると、カーソルは常に画面の下になりがちです。カーソルが画面下にあると、コードを読んだり書いたりしづらいのでスクロールしたくなります。

というわけで、スクロールできるようにキーを追加しました。

Move Caret to Text Start / Move Caret to Text End

Cmd + ↑↓

デフォルトの Cmd + Home/End は押しづらいので、追加しました。他のアプリでもTop/Endの移動はこのキーであることが多いので、このキーでTom/Endに移動できないと困ります。

Main Menu

New

Cmd + E -> N

ファイルやフォルダの新規作成です。ファイルやフォルダを新規で作るときは、Projectウィンドウを見ながらマウスを触っていることが多いので、使用頻度はあまり多くありませんが、キーボードだけでNewファイルが作れないと困ることもあるので、追加しました。

Find in Files…

Cmd + Shift + F

Jetbrainsで一番使うと言っても過言ではないgrep機能ですね。Mnemonicデフォルトの Cmd + N -> F でもタイプしやすく困らないのですが、Jetbrainsデフォルトキーでできないと、えっと思うことがあったので、設定していました。

Cmd + N -> F のほうがタイプしやすいので、このキーの使用頻度は多くありません。

Comment with Line Comment

Cmd + /

Jetbrainsデフォルトキーを追加しました。

行削除同様、連続で使用するとこが多いのでコンビネーションキーだと辛いです。

Mnemonicデフォルトの Cmd + L -> C は、連続でタイプするとCmd + C * 2 でdeepLが誤作動で起動するので、ほとんど使っていません。

Split Right

Cmd + E -> S

コードを見ているとき、別スプリットにして表示したいことがけっこうあるので追加しました。

まとめ

JetbrainsのMnemonicの独自カスタムの紹介でした。

今のキーボードのレイアウトとこのMnemonicのキーマップで、だいぶキーボードだけでコード編集ができるようになりました! これからももっと最適化していきたいと思います。

プログラマブルキーボードのQMKキーマップをサラしてみる私が使用しているキーボードは、いわゆるプログラマブルキーボードという部類で、どこのボタン(キースイッチ)に何のキーを割りあてるか設定でき...