はじめに
Enterキーって遠くないですか?
Enterキーは主に文章やコードの改行を行い際に利用され、エンジニアにとっては利用頻度がかなり多いキーだと思います。ところが、キーボード上のEnterキーはホームポジションから遠く離れた位置に存在します
そのため、私は以下のような課題を感じていました
- Enterキーを押す際に右手を全体的に右に移動させる必要がある
- Enterキーを押した際にホームポジションに戻すのに(わずかではあるが)時間がかかる
- Enterキーを押した後に小指が戻りきらず若干Enterキー寄りで迷子になることがあり、小指でタイピングする記号をよく押し間違える
なお、MacではEmacsキーバインドを使うことができ、改行に近い処理を行うキーバインドに ctrl
+ o
が存在しますが、カーソル直後に行を追加(カーソルの場所で改行するが、カーソルは現在行のまま)という謎の仕様のためほぼ使っていませんでした
解決策
ctrl
+ o
に改行(正確には、現在の行の次に行を追加してカーソルも移動)を割り当てました。
Visual Studio Code(以下、VSCode)は以下の操作で割り当てることができます!
[
// macの場合は既存の割り当てを削除する必要があります
// windowsやlinuxではこの設定は不要です
{
"key": "ctrl+o",
"command": "-lineBreakInsert",
"when": "textInputFocus && !editorReadonly"
},
// ctrl+oに改行を割り当てます
{
"key": "ctrl+o",
"command": "editor.action.insertLineAfter",
"when": "editorTextFocus && !editorReadonly"
},
]
メリット
この設定を使ってみてのメリットは3点ありました
-
右手の移動が少なくなり超快適
これは想定していたメリットですが、右手の移動が少ないのはマジで快適です!感じていた3つの課題も解決することができました -
行末以外でも改行できる
割り当てた改行は行の途中でも改行できるコマンドなため、()
や""
などのペアで入力される記号を閉じる前の位置で改行することができ、行末に移動してEnterを押す手間を省くことができましたprint(f"{variable|}") ^ カーソルがこの位置でも改行できる!
-
補完を無視して改行できる
VSCodeには、IntelliSenseというコード補完の機能があり、変数名や関数名を補完してくれます。基本的にはありがたい機能ですが、たまに不要な補完が表示され、一度消してからEnterで改行することがありましたが、ctrl
+o
で補完を無視して改行することができました
※なお、VSCodeは設定したキーバインドと同様のキーバインドが元々 Cmd
+ Enter
(windowsでは Ctrl
+ Enter
)に割り当てられているので、2,3はそちらでも恩恵を受けることが可能です。
デメリット
なお、この設定にはデメリットも存在するため、これらを理解した上で利用することを推奨したいです
-
他のエディタでも使ってしまう
本記事の設定はVSCode特有の設定のため、他のエディタでは利用することができません。Google docsや本Qiitaを書く際は引き続きEnterで改行する必要がありますが、ついついctrl
+o
を押してしまいます -
行の途中のその場での改行や日本語入力時は引き続きEnterキーを利用することが必要
行末以外において、カーソルの場所で改行するためには、引き続きEnterキーを利用することが必要です。また、日本語入力時の変換の決定にも引き続きEnterキーを利用することが必要です
このように、Enterキーから完全に卒業することはできませんが、作業効率が爆上がりしたのは間違いないので、ぜひ本記事の設定をお試しください