LoginSignup
5
4

More than 5 years have passed since last update.

Ubuntuにpecoを導入してフィルタを素敵にする

Last updated at Posted at 2017-12-09

pecoとは

色々なものをフィルタしてくれるツール。
詳細はGitHubのデモを見るのが一番はやい。
https://github.com/peco/peco

環境

OS:ubuntu 16.04 LTS
シェル:zsh 5.1.1

導入方法

# tarファイルをダウンロード
# 2017/12/09時点の最新はv0.5.2
sudo wget "https://github.com/peco/peco/releases/download/v0.5.2/peco_linux_386.tar.gz"

# 解凍
sudo tar xzvf peco_linux_386.tar.gz

# 移動
cd peco_linux_386

# 実行権限を付与
sudo chmod +x peco

# pecoを配置
sudo cp peco /usr/local/bin

# 実行できるかを確認
peco --version

設定

.zshrcにpeco用の設定を追記

.zshrc
# ----------------------------------
# peco
# ----------------------------------
function peco-select-history() {
  BUFFER=$(\history -n 1 | tac | peco)
  CURSOR=$#BUFFER
  zle clear-screen
}
zle -N peco-select-history
bindkey '^r' peco-select-history

あとは
source .zshrc
で再読み込み。

設定時の注意点

最初に試した時は
BUFFER=$(\history -n 1 | tac | peco)

BUFFER=$(\history -n 1 | tail -r | peco)
にしてたらうまく動かなかった。
tailの-rはMacにしかないらしい。
最初「無効なオプションです」って言われてman tailして初めて知りました。。。
※他の方が書いているpecoの設定をそのままコピペしてハマった・・・

使ってみる

  • Ctrl + r でコマンド履歴を見る。
    「ja」でフィルタすると「ja」を含む文字列を出力してくれる。
    範囲を選択_002.png

  • コマンド実行結果を入力に使う
    範囲を選択_003.png
    ps の結果をpecoに渡すことができる。
    範囲を選択_004.png
    そのまま任意のフィルタもできる。
    範囲を選択_005.png

5
4
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
5
4