「Fzf」の版間の差分
(→fish: 同期) |
(→Arch で fzf を使用する: 翻訳を修正) |
||
(4人の利用者による、間の10版が非表示) | |||
1行目: | 1行目: | ||
{{lowercase title}} |
{{lowercase title}} |
||
− | [[Category:コマンドシェル]] |
||
[[Category:検索]] |
[[Category:検索]] |
||
+ | [[Category:コマンド]] |
||
[[en:Fzf]] |
[[en:Fzf]] |
||
+ | [[es:Fzf]] |
||
− | fzf は汎用のコマンドライン曖昧検索ツールです。 |
||
+ | [https://github.com/junegunn/fzf fzf] は汎用のコマンドライン曖昧検索ツールです。 |
||
== インストール == |
== インストール == |
||
11行目: | 12行目: | ||
== 設定 == |
== 設定 == |
||
+ | === シェル === |
||
− | 様々なシェルで fzf のキーバインドや補完を使うことができます。 |
||
+ | 様々なシェルで [https://github.com/junegunn/fzf/wiki/Configuring-shell-key-bindings fzf のキーバインド]や補完を使うことができます。 |
||
− | === bash === |
||
+ | |||
+ | * {{ic|Ctrl+t}} カレントディレクトリのファイルとフォルダを一覧する (例: {{ic|git commit}} に続けて {{ic|Ctrl+t}} を押し、{{ic|Tab}} でファイルを選択し、最後に {{ic|Enter}} で決定) |
||
+ | * {{ic|Ctrl+r}} シェルコマンドの履歴を検索 |
||
+ | * {{ic|Alt+c}} 曖昧検索で選択したカレントディレクトリを変更 |
||
+ | |||
+ | ==== bash ==== |
||
{{ic|.bashrc}} から以下のファイルを [[source]] してください: |
{{ic|.bashrc}} から以下のファイルを [[source]] してください: |
||
20行目: | 27行目: | ||
* {{ic|/usr/share/fzf/completion.bash}} |
* {{ic|/usr/share/fzf/completion.bash}} |
||
− | === zsh === |
+ | ==== zsh ==== |
{{ic|.zshrc}} から以下のファイルを [[source]] してください: |
{{ic|.zshrc}} から以下のファイルを [[source]] してください: |
||
27行目: | 34行目: | ||
* {{ic|/usr/share/fzf/completion.zsh}} |
* {{ic|/usr/share/fzf/completion.zsh}} |
||
− | === fish === |
+ | ==== fish ==== |
fish の場合、キーバインドは以下のファイルに定義されています: |
fish の場合、キーバインドは以下のファイルに定義されています: |
||
− | * {{ic|/usr/share/fish/functions/ |
+ | * {{ic|/usr/share/fish/functions/fzf_key_bindings.fish}} |
fish はデフォルトで source しますがバインドは手動で有効にする必要があります: |
fish はデフォルトで source しますがバインドは手動で有効にする必要があります: |
||
43行目: | 50行目: | ||
fish の fzf 補完はカスタム関数で有効にできます: https://github.com/junegunn/fzf/wiki/Examples-(fish) |
fish の fzf 補完はカスタム関数で有効にできます: https://github.com/junegunn/fzf/wiki/Examples-(fish) |
||
− | == |
+ | === Vim === |
+ | |||
+ | 基本的な [[Vim]] プラグインはパッケージに含まれており、Vim のプラグインディレクトリにインストールされます。そのため、使用するのに {{ic|.vimrc}} に何か追加する必要はありません。ただし、プラグインは FZF コマンドしか提供しません。他の便利な関数を定義している Vim プラグインが fzf の作者によって作られています。https://github.com/junegunn/fzf.vim を見てください。 |
||
+ | |||
+ | == Arch で fzf を使用する == |
||
+ | |||
+ | === Pacman === |
||
+ | |||
+ | 利用可能なすべてのパッケージをあいまい検索し、パッケージ情報をプレビューウィンドウに表示してから、選択したパッケージをインストールします。 |
||
+ | |||
+ | $ pacman -Slq | fzf --multi --preview 'pacman -Si {1}' | xargs -ro sudo pacman -S |
||
+ | |||
+ | インストールされているすべてのパッケージを一覧表示し、選択したパッケージを削除します。 |
||
+ | |||
+ | $ pacman -Qq | fzf --multi --preview 'pacman -Qi {1}' | xargs -ro sudo pacman -Rns |
||
+ | |||
+ | プレビューでパッケージファイル一覧を追加したい場合 - プレビューウィンドウの更新が少し遅くなるかもしれません ([[pacman]] ファイルデータベースを同期させるため、起動前に一度 root 権限で {{ic|pacman -Fy}} を実行してください): |
||
+ | |||
+ | $ pacman -Slq | fzf --multi --preview 'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk "{print \$2}")' | xargs -ro sudo pacman -S |
||
+ | |||
+ | {{AUR|paruz}} パッケージは {{AUR|paru}} と ''pacman'' のための ''fzf'' ターミナル UI も提供します。 |
||
+ | |||
+ | == 代替 == |
||
+ | * {{Pkg|skim}} – [[Rust]] で書かれた曖昧検索 |
||
− | * https://github.com/junegunn/fzf - 開発ページ |
||
+ | * {{Pkg|fzy}} – 曖昧検索/セレクター |
||
− | * https://github.com/junegunn/fzf/wiki - The wiki with customization examples. |
2023年7月25日 (火) 16:17時点における最新版
fzf は汎用のコマンドライン曖昧検索ツールです。
インストール
fzf パッケージをインストールしてください。開発版は fzf-gitAUR でインストールできます。
設定
シェル
様々なシェルで fzf のキーバインドや補完を使うことができます。
Ctrl+t
カレントディレクトリのファイルとフォルダを一覧する (例:git commit
に続けてCtrl+t
を押し、Tab
でファイルを選択し、最後にEnter
で決定)Ctrl+r
シェルコマンドの履歴を検索Alt+c
曖昧検索で選択したカレントディレクトリを変更
bash
.bashrc
から以下のファイルを source してください:
/usr/share/fzf/key-bindings.bash
/usr/share/fzf/completion.bash
zsh
.zshrc
から以下のファイルを source してください:
/usr/share/fzf/key-bindings.zsh
/usr/share/fzf/completion.zsh
fish
fish の場合、キーバインドは以下のファイルに定義されています:
/usr/share/fish/functions/fzf_key_bindings.fish
fish はデフォルトで source しますがバインドは手動で有効にする必要があります:
~/.config/fish/functions/fish_user_key_bindings.fish
function fish_user_key_bindings fzf_key_bindings end
fish の fzf 補完はカスタム関数で有効にできます: https://github.com/junegunn/fzf/wiki/Examples-(fish)
Vim
基本的な Vim プラグインはパッケージに含まれており、Vim のプラグインディレクトリにインストールされます。そのため、使用するのに .vimrc
に何か追加する必要はありません。ただし、プラグインは FZF コマンドしか提供しません。他の便利な関数を定義している Vim プラグインが fzf の作者によって作られています。https://github.com/junegunn/fzf.vim を見てください。
Arch で fzf を使用する
Pacman
利用可能なすべてのパッケージをあいまい検索し、パッケージ情報をプレビューウィンドウに表示してから、選択したパッケージをインストールします。
$ pacman -Slq | fzf --multi --preview 'pacman -Si {1}' | xargs -ro sudo pacman -S
インストールされているすべてのパッケージを一覧表示し、選択したパッケージを削除します。
$ pacman -Qq | fzf --multi --preview 'pacman -Qi {1}' | xargs -ro sudo pacman -Rns
プレビューでパッケージファイル一覧を追加したい場合 - プレビューウィンドウの更新が少し遅くなるかもしれません (pacman ファイルデータベースを同期させるため、起動前に一度 root 権限で pacman -Fy
を実行してください):
$ pacman -Slq | fzf --multi --preview 'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk "{print \$2}")' | xargs -ro sudo pacman -S
paruzAUR パッケージは paruAUR と pacman のための fzf ターミナル UI も提供します。