みなさん、エンジニア楽しんでいますか?
以前YouTubeで私の10Essentialsという動画が流行っていたのを覚えていますでしょうか。
今更ながら真似してみます。
私は今、実務でゴリゴリ開発というわけではないです。
ですので、自宅での学習が主な用途になりますので、最新でつよつよツールかと言われると微妙かもしれません。
ただ、私が学習中に不便に思ったことを解決するためのツールが揃っているかと思いますので、何かの参考になると嬉しいです。
前提として、筆者はM2 Mac環境です。
chatGPTやClaudeなどはありきたりなので除外しています。
マウスの使用頻度を減らすのを目標にしています。
目次
Raycast
言わずと知れたランチャーツール。
元々mac既存のSpotlightを使用していましたが、こちらの方が拡張性があり移行しました。
開くと以下のような画像になります。
検索バーにExtensionsと入力すると、このような画面になります。
検索バーに任意のアプリ名などを入力し、Hotkey欄にショートカットキーを割り当ててください。
私は、アプリ起動に以下のようなショートカットキーを割り当てています。
| ショートカットキー | アプリ |
|---|---|
Ctrl + Q |
Raycast |
Ctrl + D |
Discord |
Ctrl + A |
DockDoor |
Ctrl + S |
Slack |
Ctrl + R |
Macのリマインダー |
Ctrl + O |
Obsidian |
Ctrl + L |
LINE |
Ctrl + U |
CodexBar |
Ctrl + V |
VSCode |
Ctrl + B |
Zen |
Ctrl + Z |
Zed |
Ctrl + G |
Ghostty |
また、アプリのサイズや位置変更も可能で2枚目の画像で「window」と入力すると設定可能です。
| ショートカットキー | Name | 動き |
|---|---|---|
Ctrl + cmd + C |
Center | 上下中央に配置 |
Ctrl + cmd + J |
Left Half | 左に配置 |
Ctrl + cmd + I |
Next Display | 次の画面に移動 |
Ctrl + cmd + K |
Previous Display | 前の画面に移動 |
Ctrl + cmd + L |
Right Half | 右に配置 |
Ctrl + cmd + M |
Maximize | 画面いっぱいに拡大 |
Ctrl + cmd + Space |
Toggle Fullscreen | フルスクリーン化、解除 |
サイズや位置変更をしたい対象を選択している前提となりますので、後述するDockDoorとも相性が良いですし、特にマルチディスプレイの方は次の画面、前の画面あたりは利便性が高いと思います。
また、1枚目の画像にアプリ名を入力するとSpotlight的な使い方もできるのでとても重宝しています。
DockDoor
ウィンドウスイッチャー。
元々AltTabを使用していましたが、AltTabが少し前に有料プランを展開したあたりから使い勝手が悪くなり移行しました。
挙動的にはWindowsの「Alt + Tab」と同じですが、拡張性があって面白いです。
Ghostty
ターミナルツール。
元々iTermを使用していましたが、Ghosttyが軽いということで流れに便乗した形です。
私が今ゴリゴリ開発をしていたらherdr、cmux、tmuxあたりも入ってきたかもしれません。
私のショートカットキーを共有しておきます。
# タブ移動
keybind = cmd+l=next_tab
keybind = cmd+j=previous_tab
# ペイン分割
keybind = cmd+s=new_split:left
keybind = cmd+f=new_split:right
keybind = cmd+d=new_split:down
# ペイン分割
keybind = cmd+shift+i=goto_split:up
keybind = cmd+shift+k=goto_split:down
keybind = cmd+shift+j=goto_split:left
keybind = cmd+shift+l=goto_split:right
Raycastとの兼ね合いであまりctrlを使いたくないため、主にcmdやshiftを使用しています。
作成したタブやペインに以下のyaziやlazygitを表示しています。
yazi
インストールコマンド
brew install yazi
最近はGhostty内でプログラムを書く、見る機会も増えてきたので採用しました。
Ghostty内で任意の階層へ移動し、yと入力すると起動するようにしています。
本来は、yaziコマンドで起動するのですが、zshの設定を少し変更してyで起動するようにしています。
元のキーマップは忘れてしまったのですが、特性上ファイルの移動、操作が頻発します。
ですので、ijklあたりでファイルの行き来、ikで開いたファイルを上下にスクロールするようにしています。
yazi自体のキーマップを共有します。
#:schema https://yazi-rs.github.io/schemas/keymap.json
# ファイラー本体
[mgr]
prepend_keymap = [
{ on = "i", run = "arrow prev", desc = "上へ" },
{ on = "k", run = "arrow next", desc = "下へ" },
{ on = "j", run = "leave", desc = "親ディレクトリへ" },
{ on = "l", run = "plugin smart-enter", desc = "子ディレクトリへ入る / ファイルを開く" },
{ on = "I", run = "seek -5", desc = "プレビューを上へ" },
{ on = "K", run = "seek 5", desc = "プレビューを下へ" },
]
# 以下、リスト系 UI も同じ操作感に揃える
[tasks]
prepend_keymap = [
{ on = "i", run = "arrow prev", desc = "上へ" },
{ on = "k", run = "arrow next", desc = "下へ" },
]
[spot]
prepend_keymap = [
{ on = "i", run = "arrow prev", desc = "上へ" },
{ on = "k", run = "arrow next", desc = "下へ" },
{ on = "j", run = "swipe prev", desc = "前のファイルへ" },
{ on = "l", run = "swipe next", desc = "次のファイルへ" },
]
[pick]
prepend_keymap = [
{ on = "i", run = "arrow prev", desc = "上へ" },
{ on = "k", run = "arrow next", desc = "下へ" },
]
[confirm]
prepend_keymap = [
{ on = "i", run = "arrow prev", desc = "上へ" },
{ on = "k", run = "arrow next", desc = "下へ" },
]
[help]
prepend_keymap = [
{ on = "i", run = "arrow prev", desc = "上へ" },
{ on = "k", run = "arrow next", desc = "下へ" },
]
lazygit
インストールコマンド
brew install lazygit
ショートカットキーでgitコマンドを実行できるもの。
ざっくりと以下のようなキーが割り当てられています。
| ショートカットキー | 動き |
|---|---|
Spaceキー |
add |
c(小文字) |
commit |
P(大文字) |
push |
p(小文字) |
pull |
Zed
エディタ。
長年VSCodeを愛用していましたが、拡張機能にウイルスが仕込まれるなどが話題になった際、私も対象の拡張機能を入れていた点や、シンプルに動作が重く感じることが増えてきたため移行しました。
私は自宅ではHHKB us配列を使用しているのですが、自宅と職場(magic keyboard)のキーの違いが少しストレスでしたので、HHKBライクなキーマップにしています。
こちらが私のKeymap Fileです。
ポイントは、cmd + ijklでカーソル移動ができる点かと思います。
[
// ── タブ移動: cmd-shift-j / cmd-shift-l ───────────
{
"context": "Workspace",
"bindings": {
"cmd-shift-l": "pane::ActivateNextItem",
"cmd-shift-j": "pane::ActivatePreviousItem",
"cmd-h": null
}
},
{
"context": "Terminal",
"bindings": {
"cmd-shift-l": "pane::ActivateNextItem",
"cmd-shift-j": "pane::ActivatePreviousItem"
}
},
// ── エディタ系 ─────────────────────────────────────
{
"context": "Editor",
"bindings": {
"cmd-shift-l": "pane::ActivateNextItem",
"cmd-shift-j": "pane::ActivatePreviousItem",
// カーソル移動 (IJKL) + 削除 (H)
"cmd-i": "editor::MoveUp",
"cmd-k": "editor::MoveDown",
"cmd-j": "editor::MoveLeft",
"cmd-l": "editor::MoveRight",
"cmd-h": "editor::Backspace",
"cmd-space": "editor::Newline",
"cmd-;": null,
"cmd-shift-k": null
}
}
]
gotestsum
インストールコマンド
brew install gotestsum
goのテスト結果の可読性を向上させるもの。
デフォルトのgoのtestコマンドだと可読性が悪く、不満だったので導入しました。
実行結果
ここについてはもっと良いものがあるはずですが、実務でGoを触った経験はないため発展途上感は否めないです。
CodexBar
ChatGPT、Claudeの使用料をモニタリングするためのツール。
モニタリング対象のツールと紐づけるだけでパッと使用量が確認できて便利です。
特段設定は変えていませんが、唯一「使用料バーの表示」を消費量としてにしています。
ZenBrowser
ブラウザ。
Google Chromeからの移行ですが、特段大きな理由はないです。
シンプルにGoogle Chromeに飽きただけです。
最大の特徴は、タブが縦に展開されている点です。
Essentialsやコンテナなど様々な機能があるのですが、私はワークスペースを使用しています。
- Work
- Life
- Study
- Zatsu:YouTubeで音楽などを流すようです。
これらのワークスペースを用途ごとに使い分けています。
以下のショートカットキーを割り当て使用しています。
| ショートカットキー | 動作 |
|---|---|
cmd + shift + J |
スペースを左に切り替え |
cmd + shift + L |
スペースを右に切り替え |
cmd + shift + C |
左のタブ領域を開閉 |
cmd + T |
検索バーを開く |
不満点を上げるとしたら、「cmd+shift+iやk」でタブ移動ができない、スペースの移動をしているとタブ部分のUIがズレてしまうことでしょうか。
タブ移動については、かなり調べたのですが、firefox自体やzenでのキーマップ変更は不可能という結論に至りました。
Obsidian
メモツール。
Notionの動作が重いと感じたため移行。
設定などカスタムした内容を全て記載すると長くなってしまいますので、使用しているテーマやコミュニティプラグインを提供します。










