こんにちは!そして初めまして。24年度新卒エンジニアの ryoaio と申します。
私は弊社初の夏インターンに参加したことをきっかけに入社して今にいたりますが、あれからもう2年...。今年のインターン生の様子を見て、月日の流れの早さを実感しております。
時間は有限です。できれば何事も効率よくこなしたいものですよね。 この数ヶ月、そのような悩みを先輩エンジニアの方々に相談し、作業効率の上げ方を学んできました。
今回の記事では、効率を上げるために、入社してすぐやっておくべきだと感じたことについてご共有いたします。
ショートカット入力を癖にする
ドキュメントを書くとき。コーディングをするとき。
マウスをどれだけ触っていますか。矢印キーやdeleteをどれだけ触っていますか。 それらの行動は、キーボードのホームポジションを崩し、結果的に入力が遅くなります。
例えばMacであれば、Ctrlキーを使うことで、カーソル移動からdelete、改行まで。ホームポジションを崩すことなく操作可能です。
初めて知った時は目から鱗でした。
Macの場合
コマンド | 結果 |
---|---|
Ctrl + F | カーソル移動:右 |
Ctrl + B | カーソル移動:左 |
Ctrl + P | カーソル移動:上 |
Ctrl + N | カーソル移動:左 |
Ctrl + H | カーソル左を一文字消去 |
Ctrl + D | カーソル右を一文字消去 |
Ctrl + E | 行の末尾に移動 |
Ctrl + A | 行の先頭に移動 |
Ctrl + K | カーソルより右を消去 |
Ctrl + O | 改行 |
ぜひ、システム設定-> キーボード -> キーボードショートカット -> 修飾キー
からCaps lockをCtrlキーに変更してお使いください!
私は今までWindowsしか使用経験がなく、入社してMacを使い始めてから慣れるまでは少し時間がかかりました。 慣れていないうちはチャンスでもあります。はじめからショートカットキーによる操作に慣れてしまえば、それが自然と使えるようになるでしょう。
そうして慣れてくると、家での作業時にもこれらを使いたくなりました。
しかし、Windowsの場合は標準でそのようなショートカットは存在しません。 そこで、以下の通りにすれば実現できます。少々面倒ではありますが、価値があることは保証できます...!
Windowsの場合
- Change Key を利用して、CapsLockをF13キーに変更(Scan codeで0064を入力)
- 以下のようなファイルを作成し、AutoHotKey のRunScriptで実行
<(例)keymap.ahk >
; 矢印キー F13 & p::Send, {Blind}{Up} F13 & n::Send, {Blind}{Down} F13 & b::Send, {Blind}{Left} F13 & f::Send, {Blind}{Right} ; Home & End F13 & a::Send, {Blind}{Home} F13 & e::Send, {Blind}{End} ; Back Space F13 & h::Send, {Blind}{Backspace} F13 & d::Send, {Blind}{Delete}
このほかにも、日本語配列であれば、スペースキー左右の無変換/変換
を英字/かな変換
にあてるなど、mac風の環境に変えることができますので、Windowsの方にはぜひ導入をおすすめいたします。
使えるものをどんどん取り入れ、アップデートする
ランチャーアプリ
私はRaycastを使っていますが、使い始めてから非常に作業効率が上がりました。
主に以下4つで大活躍しています。
- 各種アプリのホットキーを登録し、ウィンドウをショートカット一つで切り替え
- ブックマークに入れた記事をマウス操作なしで検索し、開く
- ショートカットで画面分割・配置
- クリップボードの履歴をプレビュー付きで検索・貼り付け
ブラウザ
私はSidekickというブラウザに落ち着きました。
Chromeベースで、メモリ消費抑制などが利点として挙げられますが、何と言ってもサイドバーの存在が便利なブラウザです。
GoogleカレンダーやGithub、Asanaなど高頻度で開くものをサイドバーに配置し、タブから探す手間をなくしています。 サイドバーの各タブはショートカットキーが割り当て可能&サイドバー非表示もショートカットで実現できます。
ブラウザの拡張機能では、Vimiumが一押しです。
ブラウジングする上でマウスを使わずに済むので、ちょっとした操作のときに便利です。
キーをカスタムすることで自分好みに設定できるので、vim経験が浅い人でもそこまで違和感なく使えるかと思います。(ブックマーク検索はRaycastの方を優先)
開発中よく使う画面リロードも、⌘+R
ではなくR
キーを押すだけ..!
エディタ
王道ですがVSCodeを利用しています。ショートカットが沢山用意されていますし、豊富な拡張機能により、工夫のしがいがありますね。
ターミナル
Warpを利用しています。
リッチな見た目と補完機能・ホットキーでの気軽な呼び出し時の詳細な設定・半透明化で視界の邪魔をしないで済む部分が気に入っています。
エイリアス設定
ターミナルを使う上で、入力が面倒なものやよく利用するものはすべてエイリアスに登録することで、すぐに実行できます。
~/.zshrc
に設定を記述し、 source ~/.zshrc
で反映するだけです。
gitやdocker操作は一通り設定しています。
「dockerのappコンテナにて、gitの差分があるものだけをrubocopで回す」といった以下のような長いコマンドも、エイリアスに登録することで手軽に呼び出せるので重宝しています。
'docker compose exec app bin/rubocop $( { git diff --name-only --diff-filter=AMR; git diff --name-only --diff-filter=AMR --cached; } | grep ".*.rb$") -A'
最後に
このほかにも、PC本体の設定や各通知設定など、業務効率及び成長効率を上げるためにできることはそこら中に散らばっています。 慣れる・使いこなすという意味で、初めのうちからやっておくと良いのではないかと思います。
技術の進歩とともに、各ツールも進歩していくものですから、定期的な環境の見直しもしていきたいところですね。
もし、「このようなショートカット・アプリ・使い方が便利だよ!」といったものがございましたら、ぜひ教えて下さい!
入社前から素敵だと感じていた場所で、日々学べている環境に感謝を忘れず、早く一人前のエンジニアとしてお客様にとって価値ある開発ができるよう、精進してまいります。 私と同じく新卒の方や、何か新しい挑戦を始めた方。一緒に頑張っていきましょう!