Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
68
Help us understand the problem. What is going on with this article?
@uchiko

oh-my-zsh の環境で、peco-select-history が動かない

More than 5 years have passed since last update.

Pecoを導入してzshのhistoryに使うようにした
http://blog.kenjiskywalker.org/blog/2014/06/12/peco/

こちらの記事などで紹介されている peco-select-history が、
oh-my-zsh を使っている環境下だと動かなかった。

原因は、history -n 1 の部分で、以下のようなエラーが出るため。

$ history -n 1
fc: event not found: -n

oh-my-zsh の設定で history コマンドが fc コマンドに alias 設定されているらしい。
https://github.com/robbyrussell/oh-my-zsh/issues/739

以下のように、historyの前にバックスラッシュを追記した。
(@syohexさんと@hisaichi5518さんにこの方法を教えていただきました。ありがとうございます!)

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

これで、無事に peco-select-history が使用できるようになった。

68
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
uchiko
エンジニアです。最近はAWSでサーバレス開発しています。 Go/AWS/Docker/TypeScript/Processing。AWS認定システムアーキテクトプロフェッショナル保持。全社員フルリモートワークの会社で働いています。愛知県岡崎市在住。 Twitter: @memememomo

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
68
Help us understand the problem. What is going on with this article?