LoginSignup
7
7

More than 5 years have passed since last update.

zsh + peco-select-histroyで未入力状態からCtrl-rを押してもpecoを起動できるようにする

Last updated at Posted at 2014-10-12

巷にあるpeco-select-historyだと未入力状態からCtrl-rを押してもpecoが起動しなくてイラつくので、未入力状態の場合にpecoの引数を変えることでhistory -n 1の順で候補が表示されるようにする。

function peco-select-history() {
  local tac
  if which tac > /dev/null; then
      tac="tac"
  else
      tac="tail -r"
  fi
  if [ -n "$LBUFFER" ]; then
    BUFFER=$(history -n 1 | \
        eval $tac | \
        peco --query "$LBUFFER")
  else
    BUFFER=$(history -n 1 | \
        eval $tac | \
        peco)
  fi
  CURSOR=$#BUFFER
  zle clear-screen
}

最初は--query "$LBUFFER"を変数化しようと思ったけど、うまくいかなかったのでこうなってしまった。

追記: コメントにある通り、再インストールしたらpeco --query ""が動くようになりました。このスクリプトは不要です。

7
7
5

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