LoginSignup
24
24

More than 5 years have passed since last update.

pecoをCentOS6.5にインストール

Last updated at Posted at 2014-09-09

pecoというものが便利らしいということで、早速Macにインストールして使っておりました。
友人にも薦めてみたのですが、Linuxで使うにはどうすればいいの?という質問があったのでインストール方法を忘備録的にまとめてみました。

pecoとは

標準入力を受け取り、インクリメンタルな絞り込みができる便利ツールです。
自分は、特にzshのhistoryと連携させて使っております。
他には、gitでpullしたりpushしたりするときにも使っておるのですが、かなり便利です(´ω`)

pecoのGitHubページにデモがありますので、見てみるとイメージが分かりやすいと思います。

https://github.com/peco/peco

gitとの連携に関しては、こちらの記事を見ていただけるといいと思います!(タイトル通り便利革命でした!)
peco と alias -g で git に便利革命おきた

インストール方法

こちらから最新版のファイルをダウンロードします。
今回は、ユーザーディレクトリに「local/src」っていうディレクトリを作ってその中にダウンロードしてみます。

cd
mkdir -p local/src/
cd local/src
wget https://github.com/peco/peco/releases/download/v0.2.9/peco_linux_amd64.tar.gz

次に、ダウンロードしてきたファイルを解凍します。

tar -C ~/local -xzf peco_linux_amd64.tar.gz

「/home/user_dir/local」に解凍されますので、それを「/home/user_dir/local/bin」に移動させちゃいます。

mkdir ~/local/bin
mv ~/local/peco_linux_amd64/peco ~/local/bin/

上記の方法だと、ログインユーザーしかpecoが使えません。
もし、他のユーザーでも使いたい場合は、「/usr/local/bin」ディレクトリに移動すればOKです!
※sudo権限が必要となります。

sudo mv ~/local/peco_linux_amd64/peco /usr/local/bin/

最後に移動したファイルに実行権限を与えます。

chmod 700 ~/local/bin/

これで、pecoのインストールは完了です!

zshのhistoryとpecoを連携させたい場合

こちらを参考に、~/.zshrcに下記を追加すればOK!
oh-my-zsh の環境で、peco-select-history が動かない

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

# ユーザーディレクトリ内にインストールした場合はPATHを設定
PATH=$PATH:~/local/bin/
export PATH=$PATH:~/local/bin/

追加したら、

source ~/.zshrc

を忘れずに!

最後に上記コマンドをまとめたshを書いておきます。

全てのユーザーで使うバージョン

#!/bin/sh

cd
mkdir -p local/src/
mkdir -p local/bin/

cd local/src
wget https://github.com/peco/peco/releases/download/v0.2.9/peco_linux_amd64.tar.gz
tar -C ~/local -xzf peco_linux_amd64.tar.gz
mv ~/local/peco_linux_amd64/peco ~/local/bin/
chmod 700 ~/local/bin/peco

cat <<'EOF' >> ~/.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


PATH=$PATH:~/local/bin/
export PATH=$PATH:~/local/bin/

EOF

ログインユーザーのみで使うバージョン

#!/bin/sh

cd
mkdir -p local/src/
mkdir -p local/bin/

cd local/src
wget https://github.com/peco/peco/releases/download/v0.2.9/peco_linux_amd64.tar.gz
tar -C ~/local -xzf peco_linux_amd64.tar.gz
mv ~/local/peco_linux_amd64/peco ~/local/bin/
chmod 700 ~/local/bin/peco

cat <<'EOF' >> ~/.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

PATH=$PATH:~/local/bin/
export PATH=$PATH:~/local/bin/

EOF

※Vagrant上のCentOS6.5(x86_64)で動作確認を行っております。
※ご使用の際は、自己責任でよろしくお願いいたします。
※おかしい部分等ありましたら、教え下さいませm(_ _)m

参考URL

24
24
0

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