ターミナル作業が遅くなる主因は、「便利なCLIを知らない」ことだけではありません。コードを探す、履歴やブランチを切り替える、GitHubのPR/issueを往復する、プロジェクトごとの環境変数を切り替える、差分を読む——こうした摩擦が端末に残ったままになっていることが、体感の差を生みます。

📑目次
  1. まず押さえるCLIの役割マップ
  2. 検索と移動を速くする — fzf・ripgrep・peco
  3. GitHub・差分・環境をターミナルで閉じる — gh・delta・direnv
  4. セッションと繰り返し作業 — tmux・task・HTTPie・http-server
  5. 導入優先度の比較表(何を今週入れるか)
  6. よくある質問(FAQ)
  7. まとめと次のアクション

本記事では、まず fzf・ripgrep(rg)・GitHub CLI(gh) の三点を軸に、direnv・delta・tmux などを「摩擦の種類」で整理します。人気ランキングの暗記ではなく、今週入れる3つと後回しにするものを決められるようにするのが目的です。事実確認は公式ドキュメントと、起源記事以外の独立した実務記事に基づきます。


まず押さえるCLIの役割マップ

ツール名のカタログより先に、自分がどこで止まっているかを分類すると選定が速くなります。テクノロジー現場で繰り返し現れる摩擦は、おおむね次の型です。

摩擦の型(8カテゴリ)

  1. 探す(コード・履歴・ブランチ)→ fzf / peco / ripgrep
  2. GitHub往復を減らす → gh(必要なら fzf と併用)
  3. 差分を読む → delta
  4. プロジェクト env を自動切替 → direnv
  5. 複数作業の画面を保持 → tmux
  6. 繰り返しコマンドを宣言 → task(Taskfile)
  7. HTTP 検証を読みやすく → HTTPie
  8. 静的プレビュー → http-server

独立ソースが示す導入候補

2026年時点の独立キュレーションでも、fzf・ripgrep・tmux・delta は「メンテが続き、日常導入の候補になりやすい」層として並びます(NexaSphere)。

Travis Media も次を日常ワークフローとして挙げています(Travis Media, 2026-07-05)。

  • fzf の履歴検索
  • git branch | fzf による checkout
  • ripgrep の .gitignore 前提のコンテンツ検索

摩擦別の早見表

摩擦 代表ツール 主効果 まず試す目安
探す ripgrep, fzf 高速検索と対話絞り込み 全員
GitHub往復 gh PR/issue を端末で完結 GitHub 利用者
差分 delta 構文ハイライト付き diff レビューが多い人
env 切替 direnv ディレクトリ入場で load 複数リポジトリ
画面保持 tmux セッションとペイン 長期ターミナル作業

出典(2026年7月時点):

全部を同日に入れる必要はありません。次節からは、効果が早く出やすい検索系から具体化します。


検索と移動を速くする — fzf・ripgrep・peco

単体で「速い検索」を入れるより、高速検索 + 対話絞り込みの組み合わせが効きます。

Christophe Avonture は ripgrep の出力を fzf にパイプし、bat でプレビューする対話検索(再利用可能な ZSH の rgf 系ワークフロー)を独立に示しています(Avonture)。

fzfとripgrepを組み合わせた対話検索の解説ページ画面
独立記事による fzf × ripgrep の対話検索ワークフロー例

出典

ripgrep(rg)

ripgrep は .gitignore を尊重した高速なコンテンツ検索が既定の価値です。Travis Media も日常のコード検索手段として挙げています。

速度と測り方の要点:

  • Avonture の例では、node_modules が多いツリーで rg が約 0.08 秒、grep が約 4.2 秒という対比が示されている
  • これは特定環境の参考値であり、リポジトリ規模やディスクで変わる
  • 記事では「桁が違う体験になり得る」と捉え、自環境で一度測るのが安全

導入の第一歩:

  1. PATH に rg を載せる
  2. IDE の全文検索の代わりにターミナルから1日数回使う
  3. 巨大 monorepo では ignore 設定と検索パス指定を前提にする

fzf

fzf は fuzzy finder です。定番は次の配線です。

  • シェル履歴の対話検索(多くの環境で Ctrl-R 連携)
  • ファイル選択
  • git branch | fzf からの checkout

Travis Media も履歴とブランチ選択を日常パターンとして書いています。

設定の論点としては次が現実的です。

  • FZF_DEFAULT_COMMAND に fd を使う
  • gco のような checkout 用エイリアスを1本置く

最初から完璧な設定集を真似るより、履歴かブランチのどちらか1本を配線した方が定着します。


peco との関係

peco も fuzzy finder 系で、パイプの先に置く柔軟な UI として使われることがあります(例: issue 一覧を対話選択)。fzf と用途が重なるため、原則はどちらかを主にし、特殊なパイプ UI が要るときだけ副を足す、と整理すると運用コストが下がります。


読者が今週やること(検索系)

  1. ripgrep を入れて rg を PATH に通す
  2. シェルに fzf の key-bindings を入れる
  3. ブランチ checkout または rg | fzf(+任意で bat プレビュー)を1本だけカスタムする

GitHub・差分・環境をターミナルで閉じる — gh・delta・direnv

ブラウザ往復と「source し忘れ」を潰すと、レビュー循環が速くなります。ここは公式ドキュメントで製品仕様が明確な層です。

GitHub CLI(gh)

GitHub CLI 公式マニュアル は、gh をターミナル/スクリプト向けの GitHub インターフェースとして定義し、auth login、config、alias、Enterprise のホスト/トークン設定を文書化しています。製品としてメンテされていることが、ここでの一次根拠です。

実務では次がよく使われます。

  • gh pr create / list / view
  • gh issue list / create / comment
  • gh browse(必要箇所だけブラウザを開く)

別オペレータの日本語実務でも、同じ流れが繰り返し書かれています。

  • brew インストールと gh auth login、issue/repo 操作の端末完結(Zenn: ring_belle
  • gh browse や PR 操作に加え、gh の出力を fzf で選ぶと選択 UI が楽になる(Qiita: mkiken, 2024-12-15

手順の骨子

  1. brew install gh(または各 OS の公式手順)
  2. gh auth login
  3. よく使うサブコマンドを alias 化
  4. 余裕があれば PR 一覧を fzf で選択

権限と UI の境界

注意点は権限スコープと org SSO です。

  • 個人トークンの権限を広げすぎない
  • SSO 必須 org では認可を済ませる
  • gh はブラウザのリポジトリ UI を完全置換するものではなく、往復削減が目的
  • 設定画面や重いレビュー UI はブラウザが残る

delta

delta 公式 は、git/diff 向けの構文ハイライト pager として、line-numbers や side-by-side などのレイアウトを示しています。

.gitconfigcore.pager = delta とするのが定番です。レビューが多い人ほど、色と行番号で「どこが変わったか」の認知負荷が下がります。

既存の less 設定や他 pager と競合する場合があるので、導入後に git diff を一度確認してください。


direnv

direnv 公式 は、ディレクトリ入場で .envrc を loadし、退出で unload するモデルを説明しています。セキュリティ上の要点は direnv allow による明示許可で、見知らぬ .envrc が勝手に実行されないことです。12-factor 的なプロジェクト別変数に向きます。

運用上の注意は次です。

  • 共有リポジトリに秘密をそのまま書かない(テンプレと秘密の分離)
  • allow 忘れで「動かない」と誤認しない
  • チームで「何を .envrc に載せてよいか」を先に決める

読者が今週やること(GitHub / env / diff)

  1. gh auth status でログイン済みか確認する
  2. 今週の PR を1本、gh だけで作成する
  3. 常用リポジトリに direnv または delta のどちらかを追加する

セッションと繰り返し作業 — tmux・task・HTTPie・http-server

検索と GitHub 以外にも、「画面が増える」「同じ起動手順を忘れる」「curl の JSON で嵌る」といった別レイヤの摩擦があります。ここは全員必須ではなく、役割がはっきりした人だけ足す層です。

tmux

tmux はペイン分割とセッション復元で、長期ターミナル作業の中断コストを下げます。NexaSphere の 2026 キュレーションでもメンテ継続ツールとして言及があります。導入障壁になりやすいのは prefix キーの変更と mouse 設定です。学習コストが中程度なので、毎日複数ペインが必要かを先に自問するとよいです。


task(Taskfile)

Makefile 代替として YAML で setup / dev / test を宣言する用途です。個人メモより、チームで起動手順を共有したいときに効きます。リポジトリ合意がないと形骸化しやすいのが制限です。


HTTPie と http-server

HTTPie は人間が読みやすい HTTP クライアントで、JSON の取り回しや色付き出力により API 手打ちミスを減らせます。http-server は静的ファイルの即時プレビュー用で、python -m http.server の代替導線として使われることがあります。いずれも本番サーバではありません。API が多いバックエンド担当、またはフロントの静的確認が多い人だけ導入すれば十分です。


読者アクション

まずは tmux か task のどちらか1つ。API デバッグが日常なら HTTPie を足す。http-server は静的プレビューが頻繁なときだけ、という順が無理のない分け方です。


導入優先度の比較表(何を今週入れるか)

結論は明確です。全部入れない。摩擦の大きい順に3つ。

優先度表(コア 1〜5)

優先 ツール 主効果 導入コスト 向いている人 根拠の向き
1 ripgrep コード検索速度・gitignore 全員 Travis / Avonture の日常・速度例
2 fzf 履歴・ブランチ・対話絞込 低〜中 shell 常用 Travis / Avonture の結合運用
3 gh PR/issue の端末完結 GitHub 利用者 公式 manual / mkiken / ring_belle
4 direnv プロジェクト env 自動 多リポジトリ 公式 direnv
5 delta diff 可読性 レビュー多い 公式 delta

優先度表(拡張 6〜10)

優先 ツール 主効果 導入コスト 向いている人 根拠の向き
6 tmux 多重セッション 長期ターミナル NexaSphere 等
7 task 手順の宣言化 チーム/複合作業 チーム合意が前提
8 HTTPie API デバッグ バックエンド API 頻度が高い人
9 peco 柔軟パイプ UI fzf と使い分け 主は片方で足りることが多い
10 http-server 静的プレビュー フロント確認 本番用途ではない

根拠となる出典

出典(2026年7月時点):


判断基準チェックリスト

  • 今週、いちばんストレスなのは「検索」か「GitHub 往復」か
  • direnv を入れるなら、秘密情報の扱いルールを決められるか
  • Taskfile や tmux をチームで共有する合意があるか
  • 他人のベンチや「体感2倍」を、自環境で1回測るか

優先度1〜3で検索と GitHub が止まれば、direnv/delta は「常用リポジトリに片方」で十分なことが多いです。


関連記事:

よくある質問(FAQ)

Q1. fzf と peco は両方必要か?

原則どちらかを主にします。特殊なパイプ UI が必要なときだけ副を足すと、設定とキーバインドの二重管理を避けられます。


Q2. ripgrep を入れたら grep は不要か?

日常の対話的な検索は rg で足りることが多いです。一方、POSIX 前提のシェルスクリプトや移植性を優先する場面では grep を残します。「置き換え」ではなく役割分担です。


Q3. gh はブラウザのリポジトリ UI を置き換えるか?

置き換えではなく往復削減です。PR 作成・一覧・軽い確認は端末、重いレビューやリポジトリ設定はブラウザ、が現実的な線引きです。


Q4. direnv は安全に使えるか?

direnv allow による明示許可があります。見知らぬ .envrc を盲信せず、秘密の置き場と共有範囲を先に決めてください。


Q5. Windows でも同じ手順か?

パッケージ経路とシェル差があります。本記事の手順骨子は Unix 系シェル(macOS / Linux / WSL)前提です。Windows ネイティブではパッケージマネージャとシェル統合を個別に確認してください。


Q6. 公開されている検索時間の数値をそのまま信じてよいか?

参考例です。リポジトリ規模・ディスク・キャッシュで変わります。導入判断では自環境で一度測り、「桁が違うか」だけ確認するのが実務的です。


まとめと次のアクション

人気リストを丸暗記するより、摩擦の種類にツールを割り当てる方が再現性があります。独立ソースと公式ドキュメントが共通して示すのは、fzf×ripgrep の検索体験、gh による GitHub 往復削減、direnv/delta による環境と diff の摩擦低減です。

今週の次アクション

  1. rg と fzf を入れ、ブランチ checkout か履歴検索を1本配線する
  2. gh auth login し、PR 作成を1回ターミナル完結する
  3. 常用リポジトリに direnv か delta のどちらかを追加する

やらないこと

  • 10個の同時導入
  • 他人のベンチの過信
  • 秘密を書いた .envrc の放置

学習コスト・権限・チーム合意といった運用トレードオフを先に書き出すと、「入れたが使わない」を減らせます。端末の摩擦が下がったあとで、tmux や Taskfile のような協調・セッション層を足す順が無理のない拡張です。

krona23

著者

krona23

IT業界20年以上の実務経験を持ち、日本国内有数のPVを誇る大規模Webサービスで事業部長・CTOを複数社で歴任。Windows/iOS/Android/Webと技術の変遷を経験し、現在はAIネイティブへの変革に注力。DevGENTでは、AIコードエディタ・自動化ツール・LLMの実践的な使い方を日英西3言語で発信中。

DevGENT について →

コメントを残す

Trending

DevGENTをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む