最近、社内MTGやペアプロで画面共有をするたびに、そんな質問を浴びるようになりました。
VSCodeの機能でもなければ、Neovimの最新プラグインでもありません。AIコーディング全盛の今、私たちはVSCodeをそっと閉じ、ターミナル(CLI)の世界へ回帰しました。
この記事では、私たち2人のエンジニア(あらい & いながき)が構築した「手と脳を止めない最強のターミナル環境」の全貌を紹介します。
環境の土台(AeroSpace / WezTerm)
まずはAeroSpaceとWeztermについて私が紹介します!
まずは、CLIツールたちが最高のパフォーマンスを発揮するための「土台」作りです。マウス操作への依存を減らし、環境のすべてをコード(dotfiles)で管理するための基盤を紹介します。
場面:ランチャーも出ない画面の切り替え
画面共有中、私がSlackで飛んできた仕様を確認し、瞬時にエディタ(ターミナル)へ戻った時のこと。
「いまどうやって切り替えました? ランチャーもCmd+Tabも出ませんでしたよね?」
かつての私は、アプリを切り替えるためにCmd+Tabを連打し、トラックパッドをスワイプして仮想デスクトップを探し回り、ウィンドウの端をマウスでリサイズしていました。まさに「手は動いているが、思考は止まっている」状態です。この無駄な時間を解消してくれたのが、タイル型ウィンドウマネージャの AeroSpace です。
AeroSpace — 思考を止めないウィンドウ管理
AeroSpaceはMacのウィンドウを自動で敷き詰めてくれるツール。Magnetなどの有料ツールも検討しましたが、設定をTOMLで完結できる点が決め手でした。先ほどの「切り替え」の正体は、アプリの頭文字へのワークスペース強制バインドです。
# ~/.config/aerospace/aerospace.toml(抜粋)
[[on-window-detected]]
if.app-id = 'com.tinyspeck.slackmacgap'
run = 'move-node-to-workspace S'数字での管理ではなく「Alt+Sで絶対Slack」が反射で開くように設計しています。「どこにいるか」を探すのではなく「何を見たいか」でキーを叩くため、画面共有越しには一瞬でワープしたように見えます。
実践での課題:モニタ構成の環境差分をどう吸収するか
AeroSpaceを使い込むと、ある課題にぶつかりました。自宅はトリプルモニタ、外出先はMac単体。この環境差分を、単一のconfigでどう破綻せずに運用するか。ここでAeroSpaceの workspace-to-monitor-force-assignment を使い、「マッチしなければ最初の有効なモニタ(main)へ落ちる」という仕様を設計として使い切りました。
# ~/.config/aerospace/aerospace.toml(※一部抜粋して簡略化しています)
persistent-workspaces = ["M", "S", "A"] # ...実際は他のワークスペースも指定
[workspace-to-monitor-force-assignment]
M = '^built-in' # 内蔵(全環境で確実にマッチ)
S = '^VG' # 縦モニタ(自宅のみマッチ。他はmainへフォールバック)
A = 'main' # メインモニタ
# ...中略(他の数字・アルファベットのワークスペース設定が続く)...S = '^VG' は自宅ならASUSの縦モニタへ割り当てられますが、外出先ならマッチせず main(内蔵)へ自然に着地します。環境分岐のif文やシェルスクリプトを一切書かずに、宣言的なTOMLだけで差分を吸収できました。
余談:AeroSpace単体だと「いまどの窓がアクティブか」を見失うため、mozumasuさんの記事を参考に
bordersバイナリでアクティブウィンドウに枠線をつけています。この方の開発環境には我々2人とも多大な影響を受けています。
WezTerm — AI時代のターミナル回帰
ウィンドウ管理の次は、ターミナルそのものです。私は現在 WezTerm を愛用しています。
AI時代になり、Cursorなどのエディタへ一度は移行しました。しかし、エディタ内でもClaude Code等のAIエージェントを動かすようになると、結局ターミナルペインでの作業時間が一番長くなったのです。「どうせずっとターミナルにいるなら、キーボード操作で完結する洗練された環境を作りたい」。設定がLuaで書け、GPUレンダリングで高速、かつ細部までカスタマイズができるWezTermに行き着きました。
一昔前なら、難解なLuaやTOMLをイチから書くのは時間のかかる作業でした。しかし今はAIの時代です。Claudeに「WezTermをこんな見た目にしたい」と投げれば、精度の高いコードが即座に返ってきます。AIの進化が、dotfilesメンテのハードルを劇的に下げてくれました。これが、私たちが今CLIへ回帰している最大の理由です。
紹介しながら機能や設定を振り返ってみましたがやっぱり最高です!
AeroSpaceは私も愛用していますが画面切り替えにノイズがないのがいいですよね〜🤤
CLI/TUI操作の高速化
ではここからは私にバトンタッチしていろんなツールを紹介していきます!
土台は整いました。ここからはWezTermの上で動く「コマンド一発で世界が変わる」ツール群を紹介します。どれも導入コストは5分ほどですが、日々の作業効率を底上げしてくれます。
zoxide —の呪縛からの解放
たぶん私が最初に「それ何?」と聞かれたのは、zoxide です。
画面共有中、ターミナルに z project-〇〇 と打ち込んだ瞬間、深い階層の目的ディレクトリへジャンプしました。
普段の cd は遅いというより、脳が止まります。Tab補完を頼りにゆっくり打ったり、cd ../../../ と階層を数えたりしていると、当初の「バグの原因を直す」という思考から離れてしまいます。zoxide は過去に訪れたディレクトリを学習し、部分一致で一気にジャンプできます。
# .zshrc に追記するだけ
eval "$(zoxide init zsh)"頻繁に行くディレクトリほど優先度が上がるため、使い込むほど精度が増します。私の1日数十回の cd 操作は、ほぼすべてこれに置き換わりました。
fzf — あいまい検索の万能ナイフ
ディレクトリ移動が速くなると、次は「ファイル選び」や「コマンド履歴検索」を高速化したくなります。
あらいさんと画面共有中、私が何気なく Ctrl+R を押すと、画面下半分にコマンド履歴が展開し、数文字打っただけで目的のDockerコマンドが浮かび上がりました。
fzf は、あらゆる「一覧から1つ選ぶ」行為を高速なあいまい検索に置き換えます。
# .zshrc
eval "$(fzf --zsh)"
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND='fd --type d --hidden --follow --exclude .git'
export FZF_DEFAULT_OPTS='--preview "bat --color=always --style=numbers --line-range=:500 {}"'ポイントは、検索バックエンドに fd(高速で .gitignore を尊重)、プレビューに bat(シンタックスハイライト)を指定している点です。
そして非常に便利なのが、zoxideとの連携コマンド zi です。行き先が明確なら z、うろ覚えなら zi を叩いてfzfのUIから絞り込む。思考を邪魔しないこの体験は、CLI環境構築において大きな感動でした。
lazygit — TUIで動くGitクライアント
複雑なgit操作(ステージング、リベース、stashなど)をコマンドだけで完結させるのは手間がかかります。そこで lazygit です。
あらいさんとペアプロ中、「ちょっとコミット整えますね」と lazygit と打った瞬間、ターミナルが色分けされたUIに切り替わりました。「えっ、いまGUI開きました?」と驚かれましたが、これもCLI上で動いています。
起動は1秒未満。左手だけで95%の操作が完結します。特に commit, stash, cherry-pick などの操作が、カーソルを上下に動かすだけで完了するのは非常に快適です。コマンドの長い引数を思い出す時間も、別ウィンドウへ視線を移すコンテキストスイッチも削減されます。
↑このようなUIで非常に使いやすいです。
yazi — ターミナルの中で動くファイラ(ハブ)
最近はMac標準搭載のFinderはほとんど開かず、このyaziというツールで代替しています。
…
記事の続きは下のURLをクリック!
https://rightcode.co.jp/blogs/55818
もっとワクワクしたいあなたへ
現在、ライトコードでは「WEBエンジニア」「モバイルエンジニア」「データエンジニア」「ゲームエンジニア」「デザイナー」「WEBディレクター」「営業」などを積極採用中です!
ライトコードは技術力に定評のある受託開発をメインにしているIT企業です。
有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。
- もっと大きなことに挑戦したい!
- エンジニアとしてもっと成長したい!
- モダンな技術に触れたい!
現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?
ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。
- ライトコードの魅力を知っていただきたい!
- 社風や文化なども知っていただきたい!
- 技術に対して熱意のある方に入社していただきたい!
一度、【Wantedly内の弊社ページ】をのぞいてみてください。