参考
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]
[通知用URL]
Tweet
最終更新時間:2021年04月28日 22時00分17秒