「Fzf」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(翻訳)
 
(3人の利用者による、間の4版が非表示)
3行目: 3行目:
 
[[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/fzf.fish}}
+
* {{ic|/usr/share/fish/functions/fzf_key_bindings.fish}}
   
 
fish はデフォルトで source しますがバインドは手動で有効にする必要があります:
 
fish はデフォルトで source しますがバインドは手動で有効にする必要があります:
   
{{hc|~/.config/fish/config.fish|
+
{{hc|~/.config/fish/functions/fish_user_key_bindings.fish|
  +
function fish_user_key_bindings
fzf_key_bindings
 
  +
fzf_key_bindings
  +
end
 
}}
 
}}
   
 
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ファイルデータベースを同期するために呼び出す前に、少なくとも{{ic | pacman -Fy}}を1回実行するようにしてください)
  +
  +
$ pacman -Slq | fzf --multi --preview 'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk "{print \$2}")' | xargs -ro sudo pacman -S
   
 
== 参照 ==
 
== 参照 ==
   
 
* https://github.com/junegunn/fzf - 開発ページ
 
* https://github.com/junegunn/fzf - 開発ページ
* https://github.com/junegunn/fzf/wiki - The wiki with customization examples.
+
* https://github.com/junegunn/fzf/wiki - カスタマイズの例が載っている wiki

2020年8月23日 (日) 02:14時点における版

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ファイルデータベースを同期するために呼び出す前に、少なくとも pacman -Fyを1回実行するようにしてください)

$ pacman -Slq | fzf --multi --preview 'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk "{print \$2}")' | xargs -ro sudo pacman -S

参照