4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Mac 向け TUI (ターミナルUI) アプリケーション 10 選

4
Posted at

はじめに

ターミナルでの作業が増えてくると、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 つでも、普段の作業に残るものがあれば幸いです。

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?