ちょっと前にpercolからpecoに乗り換えた。
実際に速度測ったわけではないけど、percolと比べて早くなった気がする。
https://github.com/peco/peco
そんで、percolの時からだけど、peco-hogehogeみたいなfunction作ってkey-bind設定してたけど、多くなってくると記憶の容量が少ない僕は全てを覚えてられないので、pecoに関するfunctionを一覧で表示して、pecoで選択出来るようにすれば便利なんじゃねと思って、peco-function-listというの作ってみた。
# .zsh/peco-function-list.zsh function peco-function-list () { local selected=$(functions | grep "^.*\ ()\ {" | sed -e "s| () {||" | grep peco- | grep -v function-list | peco --query "$LBUFFER") if [ -n "$selected" ]; then ${selected} fi } zle -N peco-function-list bindkey '^p' peco-function-list
僕はoh-my-zshというのを使っていて、~/.zsh以下の*.zshを全部読み込むように設定してある。なので、.zsh/peco-functions.zsh というファイルでpeco用の色んなfunctionが定義されている。もっと良いやり方ありそう。