「peco」の版間の差分
提供: FreeBSD入門
(→関連項目) |
|||
行77: | 行77: | ||
== 関連項目 == | == 関連項目 == | ||
* [[zsh]] | * [[zsh]] | ||
+ | * [[grep]] | ||
<!-- vim: fileencoding=utf-8 filetype=mediawiki | <!-- vim: fileencoding=utf-8 filetype=mediawiki | ||
--> | --> |
2014年10月26日 (日) 17:46時点における版
peco とは、Go言語で実装された Anything ライクなフィルタです。grepとは違い、インクリメンタルにフィルタができます。ログやプロセス情報のフィルタ、ファイルを検索するときなどの便利です。
読み方
- peco
- ぺーこー(peh-koh)
概要
peco は、たとえば zsh のコマンド履歴を検索するときにも便利です。通常のコマンド履歴検索(C-r)では、マッチした行が1つだけしか参照できませんが、pecoを使用することで、履歴のマッチしている行をいくつも確認でき、履歴の中からカーソルで選択することもできます。
インストール
pkgコマンドでインストールする場合
sudo pkg install peco
Windows
WindowsのChocolatey NuGet ユーザの場合です。
C:\> choco install peco
Go
Goを使う場合、pecoコマンドは、GOPATH/bin にインストールされます。
go get github.com/peco/peco/cmd/peco
設定
使い方
コマンドラインオプション
Usage: peco [options] [FILE] Options: -h, --help show this help message and exit --version print the version and exit --rcfile=RCFILE path to the settings file --query=QUERY pre-input query --no-ignore-case start in case-sensitive mode -b, --buffer-size number of lines to keep in search buffer --null expect NUL (\0) as separator for target/output (EXPERIMENTAL) --initial-index position of the initial index of the selection (0 base) --prompt specify prompt
使用例
psのプロセス情報をフィルタする場合です。
$ ps axuw|peco
ファイル検索する場合の使用例です。
$ find . | peco
zsh の設定
.zshrcに以下の設定を加えることで、C-r で、pecoを併用したコマンド履歴検索が可能となります。
function peco-select-history() { local tac if builtin command -v tac > /dev/null; then tac='tac' else tac='tail -r' fi BUFFER=$(history -n 1 | \ eval $tac | \ peco --query "$LBUFFER") CURSOR=$#BUFFER zle clear-screen } if builtin command -v peco > /dev/null; then zle -N peco-select-history bindkey '^r' peco-select-history fi