トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

peco

参考

https://takezoe.hatenablog.com/entry/2015/07/25/000000
https://qiita.com/vintersnow/items/08852df841e8d5faa7c2
http://yoshitsugufujii.github.io/blog/2015/04/20/peco-selectup-selectdown/
https://qiita.com/b4b4r07/items/9e1bbffb1be70b6ce033

概要

指定したデータに対してインクリメンタルサーチする。何かが選択されたら、出力する
percolをgo化したもの。
msys2環境ではpercolの方が良い。

インストール

https://github.com/peco/peco/releases
からダウンロード。
必要に応じて、実行ファイルをコピー

cp peco /usr/local/bin

使ってみる

 何が出来るのか

例えば

ls -la | peco

とすると、ls -la の結果をインクリメントサーチできる。
これだけだと余り意味がないけど・・・。

 bashで履歴をインクリメントサーチする

.bashrc

peco-select-history() {
    declare l=$(HISTTIMEFORMAT= history | sort -k1,1nr | perl -ne 'BEGIN { my @lines = (); } s/^\s*\d+\s*//; $in=$_; if (!(grep {$in eq $_} @lines)) { push(@lines, $in); print $in; }' | peco --query "$READLINE_LINE")
    READLINE_LINE="$l"
    READLINE_POINT=${#l}
}
bind -x '"\C-r": peco-select-history'

 コマンドの補完でpecoを使う

例えば、cd の候補をpecoで行いたい場合は以下を bashrc に記載すると、cdd [tab] で補完できる

alias cdd='cd'
_cdd() {
  _cd
  COMPREPLY=($((IFS=$'\n'; echo "${COMPREPLY[*]}") | peco))
}
complete -F _cdd cdd

履歴選択のキー操作

vim ~/.peco/config.json

{
    "Keymap": {
        "C-j": "peco.SelectDown",
        "C-k": "peco.SelectUp"
    }
}

[カテゴリ: OS > Linux]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2021年04月28日 22時00分17秒