LoginSignup
47
47

More than 5 years have passed since last update.

centos,bash環境でpecoを導入してコマンド履歴を便利にするまで。

Last updated at Posted at 2014-07-06

最近TLでpercolやpecoが盛り上がっているので試してみました。

追記

lestrratさん、syohexさんからご指摘いただいた通り、そもそもpecoを使いたいだけの場合はGoのインストールは必要ありませんでした。
(percolだとpythonとかの設定が色々と面倒だった、という背景を忘れていました...)

詳細は下記記事を参考にしてみてください。

例えば、pecoをビルドしない
http://qiita.com/lestrrat/items/de8565fe32864f76ac19

pecoの導入

## 例
$ cd
$ mkdir -p local/src
$ cd local/src
$ wget https://github.com/peco/peco/releases/download/v0.1.12/peco_linux_amd64.tar.gz
$ tar -C /home/*****/local -xzf peco_linux_amd64.tar.gz

あとはパスを設定すればOKです。

追記前(残しておきます)

goのインストール

そもそもgoが入ってなかった...ので、ローカルにgoをインストールします。

## おもむろにディレクトリ作成
$ cd
$ mkdir -p local/src
$ cd local/src
$ wget http://golang.org/dl/go1.3.linux-amd64.tar.gz
$ tar -C /home/*****/local -xzf go1.3.linux-amd64.tar.gz

golangの環境設定

パスを設定します。適当に.bashrcとか開いてコピペ。

export GOROOT="$HOME/local/go"
export GOPATH="$HOME/local/mygo"
export PATH="$PATH:$GOPATH/bin:$GOROOT/bin"
## 設定再読み込み
source .bashrc

# 確認
which go

pecoのインストール

goがインストールできたので次はpecoをインストールします。

$ go get github.com/peco/peco/cmd/peco

# 確認
which peco

pecoの設定

こちらの記事を参考に、.bashrcとかに書き込んでいきます。

bashでもpercolをイイ感じに使う方法
http://d.hatena.ne.jp/hirose31/20140612/1402559889

最初なので、コマンド履歴を便利にします。
下記ソースを.bashrcに適当にコピペ。

# settings for peco
_replace_by_history() {
    local l=$(HISTTIMEFORMAT= history | tac | sed -e 's/^\s*[0-9]*    \+\s\+//' | peco --query "$READLINE_LINE")
    READLINE_LINE="$l"
    READLINE_POINT=${#l}
}
bind -x '"\C-r": _replace_by_history'
bind    '"\C-xr": reverse-search-history'
# 再読み込み
$ source .bashrc

これであとはいつものようにC-rでインクリメンタルサーチすれば
あら不思議、pecoが使えます。

おまけ(vimっぽいキーバインド)

動的にフィルターをかけていって選択するときに、
vimっぽくjとかkでラインを移動できたら便利なので、そのようにキーバインドを変えます。

# おもむろにディレクトリを作る
$ cd
$ mkdir -p .config/peco/

# 移動してvimを開く
$ cd .config/peco
$ vim config.json

下記内容をコピペすればOK。

{
    "keymap": {
        "C-j": "peco.SelectDown",
        "C-k": "peco.SelectUp",
        "C-f": "peco.ScrollPageDown",
        "C-b": "peco.ScrollPageUp"
    }
}

参考サイト

流行りのpecoをcentosにインストールしました
http://blog.10rane.com/installed-the-peco-to-centos/
bashでもpercolをイイ感じに使う方法
http://d.hatena.ne.jp/hirose31/20140612/1402559889
例えば、pecoをビルドしない
http://qiita.com/lestrrat/items/de8565fe32864f76ac19

47
47
4

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