はじめに
ターミナルでの作業が増えてくると、TUI(Terminal User Interface)のツールが手放せなくなります。
GUI ほど重くなく、CLI ほど記憶力も要求されない。その中間にあるのが TUI の良さです。
この記事では、mac で問題なく使えて、日常的な開発や作業で実用性の高い TUI アプリケーションを 10 個、淡々と紹介します。
1. lazygit (Git操作)
公式URL: https://github.com/jesseduffield/lazygit
開発言語: Go
lazygit は Git 操作を TUI に落とし込んだ定番ツールです。
ステータス確認、ステージング、コミット、ブランチ操作といった日常的な Git 操作が、1 画面の中で完結します。
diff を見ながら部分的に add する流れが自然で、CLI よりも操作の意図を把握しやすいのが特徴です。
一方で、すべてを GUI 的に隠蔽しているわけではないため、必要になれば素直に git コマンドへ戻れます。
Git の操作頻度が高い人ほど、導入効果が分かりやすいツールです。
2. lazydocker (Docker環境管理)
公式URL: https://github.com/jesseduffield/lazydocker
開発言語: Go
lazydocker は Docker 環境を操作・把握するための TUI です。
起動中のコンテナ、ログ、再起動や停止といった操作が、一覧を眺めながら行えます。
docker ps や docker logs を何度も打つより、状況確認が圧倒的に速くなります。
特にローカルで複数コンテナを立ち上げる開発環境では、どれが何をしているのかを把握しやすくなります。
Docker を「覚える」より「眺めて触る」方向に寄せたい人向けのツールです。
3. Btop (システムモニタ)
公式URL: https://github.com/aristocratos/btop
開発言語: C++
btop は CPU・メモリ・ディスク・ネットワークなどを可視化するシステムモニタです。
数字の羅列になりがちな top 系ツールと比べ、グラフ中心で直感的に状態を把握できます。
一瞬のスパイクや異常に気づきやすく、「今このマシンは重いのか?」を判断する入口として優秀です。
htop がプロセス操作寄りなのに対し、btop は全体俯瞰に強い印象があります。
原因調査に入る前の確認用として、まず開くツールになりやすいです。
4. zellij (ターミナルセッション管理)
公式URL: https://zellij.dev/
開発言語: Rust
zellij は tmux や screen と同じく、ターミナルセッションを管理するためのツールです。
ペイン分割やタブ操作を前提にしつつ、初期状態から使いやすい UI が用意されています。
操作ヒントが画面に表示されるため、キーバインドを暗記せずに触り始められます。
tmux の設定に時間をかけたくない人にとっては、導入のハードルが低い選択肢です。
tmux に慣れている人が無理に乗り換える必要はありません。むしろ tmux を諦めた人向けのターミナルマルチプレクサです。
5. LNAV (ログファイル解析)
公式URL: https://lnav.org/
開発言語: C++
lnav はログファイルを読むことに特化した TUI です。
複数のログを時系列でまとめて表示し、検索やフィルタ、ハイライトを駆使して調査できます。
単なる tail や grep と違い、「どこを見ていたか」という文脈を保ったまま作業できます。
さらに SQLite を使ったクエリ機能があり、ログを分析対象として扱えるのも特徴です。
ログ調査で消耗しがちな人ほど、効果を実感しやすいツールです。
6. pgcli / mycli / DBUI (データベースクライアント)
pgcli: https://github.com/dbcli/pgcli
mycli: https://github.com/dbcli/mycli
DBUI: https://github.com/Vinicamilotti/DBUI
開発言語: pgcli/mycli = Python、DBUI = Go
データベースを TUI で扱う場合、用途によってツールが分かれます。
pgcli と mycli は補完やシンタックスハイライトが強力な REPL 型クライアントです。
一方 DBUI は、複数の接続先やテーブル構造を一覧で把握する方向に寄っています。
即席のクエリ確認なら pgcli/mycli、構造を俯瞰したいなら DBUI、という使い分けがしやすいです。
GUI を開くほどでもない作業を、ターミナルのまま済ませたい人向けの選択肢です。
7. nnn
公式URL: https://github.com/jarun/nnn
開発言語: C
nnn は軽量で高速なターミナルファイラーです。
起動が速く、Finder を開くほどでもないファイル操作に向いています。
ミニマルな設計ながら、プラグインでプレビューや外部連携を追加できます。
多機能さよりも「操作の引っかかりの少なさ」を重視している印象です。
ターミナル中心の作業スタイルと相性が良いファイラーです。
8. ATAC
公式URL: https://github.com/Julien-cpsn/ATAC
開発言語: Rust
ATAC は Postman のような API クライアントを TUI で提供するツールです。
HTTP リクエストを作成し、保存し、繰り返し実行する流れをターミナル内で完結できます。
アカウント不要・オフライン志向で、個人作業との相性が良い設計です。
curl では少し辛く、GUI を開くほどでもない場面で活躍します。
API 開発をターミナル中心で進めたい人向けのツールです。
9. jless
公式URL: https://jless.io
開発言語: Rust
jless は JSON を読むことに特化したビューアです。
less の操作感をベースに、JSON 構造を折りたたみながら閲覧できます。
jq で整形して less するより、迷子になりにくいのが特徴です。
ログ中の JSON や API レスポンスを「読む」用途に向いています。
加工は jq、閲覧は jless、という役割分担がしやすいツールです。
10. glow
公式URL: https://github.com/charmbracelet/glow
開発言語: Go
glow は Markdown をターミナルでプレビューするためのツールです。
README やドキュメントを、ブラウザを開かずに読むことができます。
cat では読みにくい Markdown でも、自然なレイアウトで表示されます。
リポジトリを行き来する作業中に、ドキュメント確認のコストを下げてくれます。
ターミナルを主戦場にしている人ほど恩恵を感じやすいツールです。
まとめ
TUI ツールは、使い始めた瞬間よりも「気づいたら常用している」頃に真価を発揮します。
すべてを入れる必要はなく、用途に合うものを 1 つずつ足していくのがおすすめです。
どれか 1 つでも、普段の作業に残るものがあれば幸いです。


