macOSとLinuxでfzfを入れる方法:ファイルと履歴のあいまい検索

fzfを入れてシェル統合を有効化し、Ctrl+TとCtrl+Rでファイルとコマンド履歴をあいまい検索。

端末でフォルダを掘ったり、上矢印で昨日のコマンドを探す代わりに、fzf は任意のリストをあいまい検索できるパネルにします。

macOSとLinuxでfzfを入れる方法 — 手順は公式リポジトリ junegunn/fzf に沿います。

fzfを入れる シェル統合 Ctrl+T / Ctrl+R

fzfでできること

01

Ctrl+T / Ctrl+R / Alt+C

公式 install が bash/zsh/fish にファイル・履歴・cd を割り当てます。

02

fd / rg

~/.zshrc の FZF_DEFAULT_COMMAND を fd か rg --files にすると find 全走査を避けられます。

03

| fzf

行を出すコマンドは | fzf に渡せます。例: git branch | fzf

macOSとLinuxへのインストール

  1. 1

    macOS

    brew install fzf, then $(brew --prefix)/opt/fzf/install.

  2. 2

    Debian / Ubuntu

    sudo apt update && sudo apt install fzf or a GitHub release binary.

  3. 3

    Fedora / Arch

    sudo dnf install fzf or sudo pacman -S fzf, then the README install script.

  4. 4

    確認

    fzf --version のあと zsh/bash で Ctrl+T、Ctrl+R、Alt+C を試します。

覚えるキー

キー動作
Ctrl+Tファイルを行に挿入
Ctrl+R履歴検索
Alt+Cディレクトリへ cd
Esc取消

ファイル検索

export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"

見つけた内容をすり合わせるなら wbroom ホーム — 部屋の作成と参加.

コマンド履歴

Ctrl+R は HISTFILE を読みます。履歴が短いときは zsh の HISTSIZE/SAVEHIST または bash の HISTFILESIZE を増やします。

確認しておきたいこと

fzfとripgrep、fdの関係は?

fzfはインタラクティブな絞り込み、rgとfdは候補リストを速く出すツールです。組み合わせて使うことが多いです。

Windowsでも使えますか?

Git Bash、WSL、Windows向けビルドがREADMEにあります。本文はmacOS/Linux端末に焦点を当てています。

ショートカットを外すには?

パッケージを削除し、~/.zshrc などの source 行を消します。READMEの install --uninstall も参照してください。

複数ファイルを選べますか?

--multi を付け、Tab で複数行を選び、Enter でまとめて出力できます。

会議を始める