1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

オデのお気に入りモダンCLIコマンド✨

1
Last updated at Posted at 2026-02-26

こんちくわー

今日は10年ぶりくらいに元々髪を切ってもらっていた美容師さんのところに行って髪を切ってもらいました〜

いや〜久々に会うとニュースが色々あって面白いものですねぇ〜

ではでは、今回は オデのお気に入りモダンCLIコマンド✨ の紹介です!

みなさんCLIコマンドって使いますか?

GUI(Graphical User Interface)で色々操作する方もいるとは思いますが、CUI(Character User Interfaceは慣れるとGUIよりも操作が早くなるケースが多いこともありますよ!

繰り返し処理とかはCLIの方が優れていると思いますね!

とか、エビデンス残しとか、出力結果をAIに渡したりといろいろ便利ですね

あとかっこ良い!笑

それだけではなく、bash, zshなどの知識が深まりますよ!

では紹介にまいります!

基本的にはbrew install でインストールできるかと!

お気に入りコマンド一覧

lsd

GitHub

lsd.png

たぶん一番使っている。
こんな感じでalias設定を.zshrcにしています。

alias l='lsd -l'
alias tree='lsd --tree'

考え中のときは、「l」を連打してしまい、画面がファイル一覧になります笑

ファイル一覧が既存のlsより見やすいです!

オプションはこちら
lsd.md
(こんな使いこなしていない)

オプション一覧

オプション 日本語説明
-a, --all . で始まるファイル(隠しファイル)も表示する
-A, --almost-all ... を除き、隠しファイルを表示する
--classic クラシックモード(色・アイコンなし)で表示
-L, --dereference シンボリックリンク自体ではなく、リンク先の情報を表示
-d, --directory-only ディレクトリ自身のみ表示(--tree使用時は再帰的)
-X, --extensionsort 拡張子でソート
--git Gitステータスを表示(ディレクトリは再帰的に集約表示)
--help ヘルプを表示
-h, --human-readable サイズを人間に読みやすい形式で表示(現在はデフォルト)
--ignore-config 設定ファイルを無視する
--config-file <path> カスタム設定ファイルを指定
-F, --classify ファイル名の末尾に識別記号(*/=>@
-i, --inode inode番号を表示
-l, --long 詳細情報をテーブル形式で表示
--no-symlink シンボリックリンクのリンク先を表示しない
-1, --oneline 1行につき1エントリ表示
-R, --recursive ディレクトリを再帰的に表示
-r, --reverse ソート順を逆にする
-S, --sizesort サイズでソート
-t, --timesort 更新日時でソート
--total-size ディレクトリの合計サイズを表示
--tree ツリー形式で再帰表示
-V, --version バージョン情報を表示
-v, --versionsort バージョン番号を自然順でソート
--blocks <blocks> 表示する項目と順序を指定(permission, user, group, size, date, name, inode, git)
--color <when> 色の使用タイミング指定(always, auto, never)
--date <format> 日付表示形式指定(date, locale, relative, +format)
--depth <num> 指定した深さまで再帰表示
--group-dirs <mode> ディレクトリとファイルの並び順制御(none, first, last)
--group-directories-first ディレクトリを先に表示(--group-dirs=firstと同じ)
--hyperlink <when> ファイル名にハイパーリンク付与(always, auto, never)
--icon <when> アイコン表示制御(always, auto, never)
--icon-theme <theme> アイコンテーマ指定(fancy, unicode)
-I, --ignore-glob <pattern> 指定したglobパターンに一致するファイルを非表示
--permission <mode> パーミッション表示形式指定(rwx, octal, attributes, disable)
--size <mode> サイズ表示形式指定(default, short, bytes)
--sort <WORD> 指定項目でソート(size, time, version, extension, git)
-U, --no-sort ソートしない(ディレクトリ順)
-Z, --context SELinux / SMACK のセキュリティコンテキスト表示
--header ブロックヘッダーを表示
-N, --literal ファイル名をクォートせずそのまま表示
--truncate-owner-after <num> ユーザー/グループ名を指定文字数で切り詰める
--truncate-owner-marker <str> 切り詰め時に付与するマーカー指定

使用例

# ファイル一覧
$ l
.rw-rw-r-- koji koji  3.5 KB Mon Dec  8 02:02:39 2025  channel.go
.rw-rw-r-- koji koji  120 B  Mon Dec  8 01:45:10 2025  go.mod
.rw-rw-r-- koji koji 1006 B  Mon Dec  8 01:45:10 2025  go.sum

# コピーして、vimで矩形選択でファイルのみ抜き取り
channel.go
go.mod
go.sum

# こんな感じにvimで色々やれます
cat channel.go >> test.log
cat go.mod     >> test.log
cat go.sum     >> test.log

元々はexaというファイル表示コマンドを使用していたのですが、開発停止になってしまったため、lsdに移行しました。

ただ、ときが経ちezaコマンドが現在主流みたいですね!

明日使ってみよう

rg

GitHub
rgはripgrepの略で、ファイル内の文字列を高速に検索するコマンドです。

オプション一覧

INPUT OPTIONS

オプション 説明
-e, --regexp=PATTERN 検索パターンを指定(複数可)
-f, --file=PATTERNFILE パターンをファイルから読み込む
--pre=COMMAND 各ファイルを前処理コマンド経由で検索
--pre-glob=GLOB --pre を適用するファイルをglobで制限
-z, --search-zip 圧縮ファイルを展開して検索

SEARCH OPTIONS

オプション 説明
-s, --case-sensitive 大文字小文字を区別(デフォルト)
-i, --ignore-case 大文字小文字を無視
-S, --smart-case 小文字のみならignore-case
-F, --fixed-strings 正規表現ではなく文字列検索
-P, --pcre2 PCRE2エンジン使用
--engine=ENGINE 正規表現エンジン指定
-v, --invert-match マッチしない行を表示
-w, --word-regexp 単語単位で一致
-x, --line-regexp 行全体一致のみ
-m, --max-count=NUM ファイルごとの最大一致行数
-U, --multiline 複数行にまたがる検索
--multiline-dotall . が改行にも一致(multiline時)
--no-unicode Unicodeモード無効
--null-data 行区切りをNULに変更
--regex-size-limit=NUM 正規表現サイズ上限
--dfa-size-limit=NUM DFAサイズ上限
--stop-on-nonmatch 非一致行でそのファイルの検索停止
-a, --text バイナリをテキストとして検索
-j, --threads=NUM スレッド数指定
--crlf CRLFを改行として扱う

FILTER OPTIONS

オプション 説明
-g, --glob=GLOB globで含める/除外
--iglob=GLOB 大文字小文字無視glob
-., --hidden 隠しファイルも検索
--binary バイナリも検索
-L, --follow シンボリックリンクを辿る
-d, --max-depth=NUM 検索深さ制限
--max-filesize=NUM 指定サイズ以上を除外
--no-ignore ignoreを無視
--no-ignore-vcs VCS ignoreを無視
--no-ignore-parent 親ディレクトリignoreを無視
--ignore-file=PATH 追加ignoreファイル指定
--one-file-system 別ファイルシステムへ跨がない
-t, --type=TYPE 指定タイプのみ検索
-T, --type-not=TYPE 指定タイプを除外
--type-add=TYPESPEC タイプ定義追加
--type-clear=TYPE タイプ定義削除
-u, --unrestricted フィルタ制限を段階的に解除

OUTPUT OPTIONS

オプション 説明
-n, --line-number 行番号表示
-N, --no-line-number 行番号非表示
--column 列番号表示
-H, --with-filename ファイル名表示
-I, --no-filename ファイル名非表示
-A, --after-context=NUM 後続NUM行表示
-B, --before-context=NUM 前NUM行表示
-C, --context=NUM 前後NUM行表示
-o, --only-matching 一致部分のみ表示
-c, --count 一致行数表示
--count-matches 一致回数表示
-l, --files-with-matches 一致ファイルのみ表示
--files-without-match 不一致ファイルのみ表示
--json JSON形式出力
--pretty 見やすい出力(color+heading+line-number)
-q, --quiet 出力しない(終了コードのみ)
-r, --replace=TEXT 一致部分を置換表示
--sort=KEY 結果を昇順ソート
--sortr=KEY 結果を降順ソート
--trim 行頭空白削除
--vimgrep vim互換形式出力
-0, --null ファイル名後にNUL出力
--stats 検索統計表示

OTHER

オプション 説明
--files 検索対象ファイル一覧のみ表示
--type-list サポートタイプ一覧表示
--generate=KIND manページや補完スクリプト生成
--no-config 設定ファイルを読まない
--debug デバッグ出力
--trace 詳細トレース出力
-V, --version バージョン表示
-h, --help ヘルプ表示

使用例

このように置換するコマンドを実施することができます!よく使います!

-l はマッチしたファイルのみ表示するオプションです。
rg -l "hello"
a.txt
b.txt

# a.txtとb.txtの両方にhelloをhiに置換!
rg -l "hello" | xargs sed -i 's/hello/hi/g'

bat

GitHub

bat.png

bat は、従来の cat コマンドにシンタックスハイライトや Git 連携などの強力な機能を追加した、Rust製のCLIツールです。

  1. 主な特徴
  • シンタックスハイライト: 多数のプログラミング言語やマークアップ言語に対応。
  • Git 連携: ファイルの変更箇所(追加・修正・削除)を左端のマーカーで表示。
  • 不可視文字の表示: -A オプションでタブや改行などの制御文字を可視化。
  • 自動ページング: 出力が画面に収まらない場合、自動的に less 等のページャーを起動。
  • cat 互換: 他のプロセスへパイプしたりファイル出力したりする際は、自動で装飾なしのプレーンなテキストを出力。
  1. 便利な使い方
  • 単一・複数ファイルの表示: bat file1.md file2.md
  • 標準入力のハイライト: curl -s [URL] | bat -l json-l で言語指定可能)
  • 他ツールとの統合:
    • fzf のプレビューウィンドウとして使用。
    • findfd の実行結果を bat でプレビュー。
    • man ページのカラー表示用ページャーとして設定。
    • tail -f と組み合わせてログをリアルタイムに色付け監視。
  1. カスタマイズ
  • テーマ変更: bat --list-themes で利用可能なテーマを確認。
  • 環境変数: BAT_THEME を設定することで、デフォルトの配色を変更可能(例: TwoDark)。
  • 設定ファイル: 詳細な動作オプションを固定したい場合は、設定ファイルを利用。

このようにするくらいお気に入りです!!

.zshrc
export BAT_STYLE="header,grid"
export BAT_THEME="TwoDark"
alias b=`bat`

オプション

オプション 和訳
-A, --show-all 空白/タブ/改行などの非表示文字を表示する(タブ幅は --tabs で調整)
--nonprintable-notation <notation> --show-all 時の非表示文字の表記方法を指定(caret= ^G のような表記 / unicode= Unicode記号)
--binary <behavior> バイナリ内容の扱い(no-printing=出力しない(既定) / as-text=テキストとして扱う)
--file-name <name>... 表示上のファイル名を指定(stdinから流したときの表示名&シンタックス判定にも使う)
--tabs <T> タブ幅を Tスペースにする(0でタブをそのまま通す)
--wrap <mode> 折り返し方法(auto(既定), never, character)。幅は --terminal-width でも調整可
-S, --chop-long-lines 画面幅より長い行を切り詰める--wrap=never の別名)
--terminal-width <width> 端末幅を手動指定(+N/-N で実際の幅へのオフセット指定も可)
-u, --unbuffered 非バッファで読み込み(ストリーム向け)。このモードでは行番号は自動で無効、ハイライトは部分行で崩れる可能性あり
--quiet-empty 入力が空なら何も出力しない(スクリプト向け)

シンタックス(言語)・テーマ

オプション 和訳
-l, --language <language> シンタックスハイライトの言語を明示指定(言語名 or 拡張子で指定可)。一覧は --list-languages
-L, --list-languages 対応言語(言語名/拡張子)一覧を表示
-m, --map-syntax <glob:syntax>... globパターンを既存シンタックス名に割り当て(例: *.build:Python)※右側は拡張子ではなくシンタックス名
--ignored-suffix <suffix> 指定した拡張子を無視して判定(例: .json.dev を JSON として扱うため .dev を無視)
--theme <theme> テーマ指定(一覧は --list-themes)。既定は auto(端末の色からdark/lightを選ぶ)
--theme-dark <theme> 端末がダーク背景のときに使うテーマ名(--theme=auto/dark のとき有効)
--theme-light <theme> 端末がライト背景のときに使うテーマ名(--theme=auto/light のとき有効)
--list-themes テーマ一覧を表示

--theme の特別値

  • auto(既定): 端末の色から dark/light を自動選択(--theme-dark / --theme-light で中身を指定できる)
  • auto:always: リダイレクト時も端末色を検出して自動選択
  • auto:system(macOSのみ): システム設定の外観(ライト/ダーク)から選ぶ
  • dark: --theme-dark を使う
  • light: --theme-light を使う

強調・差分・行範囲

オプション 和訳
-H, --highlight-line <N:M>... 指定した行(範囲)を背景色で強調表示(例: 40, 30:40, :40, 40:, 30:+10
-d, --diff Git index(ステージ)との差分として変更行だけ表示(追加/削除/変更)
--diff-context <N> --diff で変更行の前後 N行を一緒に表示
-r, --line-range <N:M>... 指定した行範囲だけ出力(例: 30:40, :40, 40:, 30:+10

スタイル(装飾)・色・装飾の出し分け

オプション 和訳
-p, --plain 装飾なしのプレーン表示(--style=plain)。-pp で自動ページングも無効化(--paging=never
-n, --number 行番号だけ表示(--style=numbers の別名)
--style <components> 表示要素(行番号/ヘッダ/グリッド/Git差分など)を指定。カンマ区切り or full 等のプリセット
--color <when> 色の使用タイミング(auto(既定), never, always
--italic-text <when> 斜体のANSIシーケンス使用(always / never(既定))
--decorations <when> --style で指定した装飾をいつ出すか(auto(既定), never, always
-f, --force-colorization --decorations=always --color=always の別名(パイプしても色/装飾を維持)
-s, --squeeze-blank 連続する空行を1行にまとめる
--squeeze-limit <N> 連続空行の最大表示数を指定
--strip-ansi <when> 入力中のANSIエスケープを除去するタイミング(auto, always, never(既定))

--style の既定値(デフォルトで有効)

  • changes, grid, header-filename, numbers, snip

--style の主な指定値

  • default, full, auto, plain
  • changes, header, header-filename, header-filesize, grid, rule, numbers, snip

ページャ(less等)

オプション 和訳
--paging <when> ページャを使うタイミング(auto(既定), never, always)。-P--paging=never の別名
--pager <command> 使用するページャを指定(既定は less)。--pager=builtin で内蔵 minus を使う

補完・設定/キャッシュ・情報

オプション 和訳
--completion <SHELL> シェル補完を出力(bash/fish/zsh/ps1)
--no-custom-assets カスタムアセット(追加テーマ/シンタックス等)を読み込まない
--config-dir 設定ディレクトリの場所を表示
--cache-dir キャッシュディレクトリの場所を表示
--diagnostic バグ報告用の診断情報を表示
--acknowledgements 謝辞を表示
--set-terminal-title ページャ使用時に端末タイトルをファイル名に設定
-h, --help ヘルプ表示
-V, --version バージョン表示

位置引数

引数 和訳
<FILE>... 表示するファイル群。- または引数なしで stdin を読む

サブコマンド

サブコマンド 和訳
cache シンタックス/テーマのキャッシュを操作(例: cache --build / cache --clear

よく使うのが、こちらで検索したファイルをbatで表示するコマンドですね!

# fdコマンドでファイルを検索して、batで表示する例
fd go.mod | xargs bat

fd

GitHub

fd は、Rustで書かれたファイル検索ツールです。標準的な find コマンドよりも高速で、使いやすさを重視した設計になっています。

  1. 主な特徴
  • 直感的な構文: find -iname '*PATTERN*' の代わりに fd PATTERN と入力するだけで検索可能。
  • 高速: 並列ディレクトリトラバーサル(走査)により、非常に高速に動作。
  • スマートデフォルト: * デフォルトで隠しファイルを無視。
    • .gitignore にあるパターンを自動的に除外。
    • カラー出力によりファイルタイプを視覚的に区別。
  • スマートケース: 検索語がすべて小文字なら大文字小文字を区別せず、大文字が含まれれば区別する設定。
  • 正規表現・正規表現ベース: デフォルトで正規表現を使用でき、-g オプションでグロブ形式もサポート。
  1. 基本的な使い方
  • 単純検索: fd netflix (カレントディレクトリから "netflix" を含むファイルを検索)
  • 拡張子指定: fd -e md (Markdownファイルのみを検索)
  • 特定ディレクトリの検索: fd passwd /etc
  • 隠しファイル・無視ファイルも含める: fd -H (隠しファイル)、fd -I (gitignore無視を無効)
  1. コマンド実行(-x / -X オプション)
    検索結果に対して外部コマンドを実行できます。
  • 並列実行 (-x): fd -e zip -x unzip (見つかったzipを個別に解凍)
  • 一括実行 (-X): fd -e cpp -X vim (見つかった全てのcppファイルを一つのvimインスタンスで開く)
  • プレースホルダ: {} (パス)、{.} (拡張子なしパス)、{/} (ファイル名のみ) などを使用して、複雑なリネームや変換が可能。
  1. find との主な違い
  • find はデフォルトで全てを検索しますが、fd は「ユーザーが通常探したいもの(隠しファイルやビルド成果物以外)」を素早く見つけることに特化しています。
  • コマンド名が短く(fd vs find)、タイピング効率が良い。

オプション

無視ルール(hidden / ignore)

オプション 和訳
-H, --hidden 隠しファイル/ディレクトリも含める(既定は除外)。--no-hidden で戻せる
-I, --no-ignore .gitignore/.ignore/.fdignore/グローバルignore等で無視されるものも表示(--ignore で戻せる)
-u, --unrestricted 無制限検索(無視+隠しも含める)。--hidden --no-ignore の別名
--no-ignore-vcs gitignore(.gitignore 等)による無視をしない(--ignore-vcs で戻せる)
--no-require-git Gitリポジトリ外でもgitignore系を尊重する(既定はGitリポジトリ内でのみ尊重)
--no-ignore-parent 親ディレクトリ側のgitignoreによる無視をしない

大文字小文字・パターン種別(regex / glob / literal)

オプション 和訳
-s, --case-sensitive 大文字小文字を区別(既定はスマートケース)
-i, --ignore-case 大文字小文字を無視
-g, --glob 正規表現ではなく glob で検索(--full-path と併用で ** が複数階層にマッチ)
--regex 正規表現検索(既定)。--glob を上書きするために使える
-F, --fixed-strings 正規表現ではなく 文字列そのままで検索(部分一致)。完全一致したいなら --glob も検討
--and <pattern> 追加の必須パターンを足す(全部にマッチする必要あり)。複数指定可

パス・表示形式

オプション 和訳
-a, --absolute-path ルートからの 絶対パスで出力(--relative-path で戻せる)
-p, --full-path パターンを ファイル名だけでなくフルパスに対してマッチさせる
-l, --list-details ls -l 風の詳細表示(実質 --exec-batch ls -l 相当+安定ソート等)
-0, --print0 結果の区切りを改行ではなく NUL にする(xargs向け)
--strip-cwd-prefix [when] ./ プレフィックスを外す挙動を制御(never/always/auto)。--exec/--exec-batch/--print0 時の安全対策に関係
--path-separator <sep> 出力に使うパス区切り文字を指定(Unixは/、Windowsは\が既定)
--format <fmt> 1件ごとの出力テンプレート指定(後述プレースホルダ使用)

--format / --exec で使えるプレースホルダ

プレースホルダ 意味
{} パス(検索結果のパス)
{/} ベース名(ファイル名)
{//} 親ディレクトリ
{.} 拡張子なしパス
{/.} 拡張子なしベース名
{{ 文字 {
}} 文字 }

たどり方(symlink / mount)

オプション 和訳
-L, --follow シンボリックリンク先のディレクトリも辿る(既定は辿らない)。--no-follow で戻せる
--one-file-system, --mount, --xdev 検索開始と別のファイルシステムへは跨がない(find -xdev 相当)
--prune マッチしたディレクトリには降りない(枝刈り)

結果数・終了コード

オプション 和訳
--max-results <count> 結果数を count に制限して即終了
-1 1件で即終了(--max-results=1 の別名)
-q, --quiet / --has-results 何も出力せず「見つかったら0 / 無ければ1」で終了(スクリプト向け・早期終了で速い)
--show-errors 権限不足・壊れたsymlinkなどの FSエラー表示を有効化

深さ(depth)

オプション 和訳
-d, --max-depth <d> 探索深さの上限を d にする(既定は無制限)
--min-depth <d> d 以上の深さの結果だけを出す
--exact-depth <d> 深さがちょうど d の結果だけ(--min-depth d --max-depth d の別名)

タイプ・拡張子・除外

オプション 和訳
-t, --type <filetype> 種別で絞る(複数指定可)
-e, --extension <ext> 拡張子で絞る(複数指定可)
-E, --exclude <pattern> globで除外(他のignoreより優先。複数指定可)
--ignore-contain <name> 指定名を(直下に)含むディレクトリを除外(複数指定可)
--ignore-file <path> .gitignore 形式のカスタム ignore ファイルを追加(優先度は低い)

--type の値

意味
f, file 通常ファイル
d, dir, directory ディレクトリ
l, symlink シンボリックリンク
b, block-device ブロックデバイス
c, char-device キャラクタデバイス
s, socket ソケット
p, pipe 名前付きパイプ(FIFO)
x, executable 実行可能ファイル(※暗黙に file を含む)
e, empty 空ファイル/空ディレクトリ(※挙動は file/dir 指定の有無で変わる)

色・リンク・性能

オプション 和訳
-c, --color <when> 色付け(auto=端末出力時のみ(既定)/ never / always
--hyperlink [auto|always|never] 端末エスケープで ファイルへのハイパーリンクを出すか(既定は never
-j, --threads <num> スレッド数指定(既定はCPUコア数)
-S, --size <+-><NUM><UNIT> サイズで絞る(例: +500m / -10ki / 123b

--size のUNIT

  • 10進: b, k, m, g, t
  • 2進: ki, mi, gi, ti

更新日時・所有者

オプション 和訳
`--changed-within <date duration>`
`--changed-before <date duration>`
-o, --owner [user][:group] 所有ユーザー/グループで絞る(!で除外も可)

実行(exec)

オプション 和訳
-x, --exec <command ...> 各結果に対してコマンドを実行(並列)。引数終端に \; を使える。プレースホルダ展開あり。未指定なら末尾に {} が暗黙追加
-X, --exec-batch <command ...> 1回のコマンド実行に全結果を引数として渡す(順序は非決定)
--batch-size <size> -X の1回あたり引数数の上限(0は無制限。OS制限で分割される場合はある)

その他

オプション 和訳
-h, --help ヘルプ表示
-V, --version バージョン表示
-C, --base-directory <path> 作業ディレクトリを指定して実行(出力もそれ基準になる)
--search-path <path> 位置引数ではなくオプションで探索パスを指定(複数可)

参考(環境変数/ファイル)

  • LS_COLORS / NO_COLOR:色設定
  • グローバルignore: $XDG_CONFIG_HOME/fd/ignore または $HOME/.config/fd/ignore
  • .fdignore:fd専用のignore(--no-ignore-vcs でも効く)

fzf

GitHub

fzf は、Go言語で書かれた非常に高速でインタラクティブなコマンドライン・ファジーファインダーです。ファイル、コマンド履歴、プロセス、ホスト名など、あらゆるリストを動的に検索・フィルタリングできます。

このコマンドは単体というよりは、複数のコマンドと組み合わせて使うことが多いです。例えば、findfd でファイルを検索し、その結果を fzf で絞り込んで選択する、といった使い方が一般的です。

.zshrcなどのシェル設定ファイルにエイリアスを追加して、fzfを使用しています!オプションがとにかく多い

.zshrc
        alias fzf="fzf --height 70% --layout reverse --info inline --border     --preview 'bat --color=always {}' --preview-window '~3'      --bind 'ctrl-/:change-preview-window(50%|hidden|)'"

オプション

SEARCH(検索関連)

オプション 説明
-x, --extended 拡張検索モード(デフォルト有効)
-e, --exact 完全一致モード
-i, --ignore-case 大文字小文字無視
+i, --no-ignore-case 大文字小文字区別
--smart-case スマートケース(大文字含むと区別)
--literal ラテン文字の正規化を無効
`--scheme=default path
`--algo=v1 v2`
-n, --nth 指定フィールドのみ検索対象に
--with-nth 表示用フィールド変換
--accept-nth 選択時に出力するフィールド指定
+s, --no-sort ソートしない
-d, --delimiter フィールド区切り指定
--tail=NUM メモリ保持件数制限
--disabled 検索を無効化(セレクタとして使用)
--tiebreak 同点時の優先順位指定

INPUT / OUTPUT

オプション 説明
--read0 NUL区切り入力
--print0 NUL区切り出力
--ansi ANSIカラー処理有効
--sync 入力完了後に検索開始
--no-tty-default TTY取得方法変更

GLOBAL STYLE

オプション 説明
--style 表示スタイル(default/minimal/full)
--color 色設定詳細指定
--no-color 色無効
--no-bold 太字無効
--black 黒背景

DISPLAY MODE

オプション 説明
--height 高さ指定(%や~で自動調整)
--min-height 最小高さ
--tmux tmuxポップアップ表示

LAYOUT

オプション 説明
`--layout=default reverse
--reverse 上から表示
--margin 外側余白
--padding 内側余白
--border 枠線スタイル指定
--border-label 枠線ラベル
--border-label-pos ラベル位置

LIST SECTION

オプション 説明
-m, --multi 複数選択
--highlight-line 行全体ハイライト
--cycle 循環スクロール
--wrap 折り返し
--raw 非一致も表示
--track 選択追跡
--tac 入力逆順
--gap 行間追加
--freeze-left/right 固定列指定
--scroll-off スクロール余白
--pointer カーソル表示文字
--marker 複数選択マーカー

INPUT SECTION

オプション 説明
--no-input 入力欄非表示
--prompt プロンプト変更
--info 情報表示スタイル
--ghost ゴーストテキスト
--separator 区切り線
--filepath-word パス単位移動

PREVIEW WINDOW

オプション 説明
--preview プレビューコマンド指定
--preview-window 位置・サイズ・挙動指定
--preview-border プレビュー枠線
--preview-label プレビューラベル
--preview-wrap-sign 折り返し表示記号

HEADER / FOOTER

オプション 説明
--header 固定ヘッダー表示
--header-lines 入力の先頭N行をヘッダー扱い
--footer フッター表示
--header-border ヘッダー枠線

SCRIPTING

オプション 説明
-q, --query 初期クエリ
-1, --select-1 1件なら自動選択
-0, --exit-0 0件なら即終了
-f, --filter 非対話モード(grep的)
--print-query クエリ出力
--expect 特定キーで終了

KEY / EVENT BINDING

オプション 説明
--bind キー/イベントにアクション割当

DIRECTORY WALKER

オプション 説明
--walker 組み込みディレクトリ探索設定
--walker-root 探索開始ディレクトリ
--walker-skip 除外ディレクトリ

HISTORY

オプション 説明
--history 履歴ファイル指定
--history-size 履歴最大数

SHELL INTEGRATION

オプション 説明
--bash Bash連携スクリプト出力
--zsh Zsh連携
--fish Fish連携

ADVANCED

オプション 説明
--with-shell 子プロセス実行シェル指定
--listen HTTPサーバ起動
--listen-unsafe リモート許可

EXTENDED SEARCH 構文

構文 意味
'word 完全一致
^word 前方一致
word$ 後方一致
!word 否定
` `

主な環境変数

変数 意味
FZF_DEFAULT_COMMAND デフォルト入力コマンド
FZF_DEFAULT_OPTS デフォルトオプション
FZF_API_KEY listen用APIキー

終了コード

コード 意味
0 正常終了
1 マッチなし
2 エラー
130 Ctrl-C/ESC

使い方

標準的な ls の出力を fzf に渡し、選択しているファイルの中身を bat でプレビューします。

# カレントディレクトリのファイルをfzfで選択して bat で内容を確認し、選択したファイルを vim で開く例
`
ls | fzf --preview 'bat --color=always --style=numbers -- {}' | xargs -r vim

fzf.png

まとめ

どうでしょうか〜もっとzや、他にもコマンドはあるのですが、今回は特に利用する3つに厳選しました!

コマンドは組み合わせて使うとさらに便利になるので、ぜひ色々試してみてくださいね!

よく見るCLIツール一覧サイトはこちらなので、ぜひ見てくださいね!
https://github.com/agarrharr/awesome-cli-apps

CLIマスターに俺はなる!(ポケモンマスター)

ではでは〜

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?