📅 · Programming ⏰ 2 分で読めます
pecoの導入
pecoの導入
標準入力されたデータをインクリメンタルサーチをして選択したら出力するコマンドです。 linuxのhistoryと組み合わせるとコマンド実行が楽になるので導入しましょう。
バイナリファイルの取得
pecoのバイナリファイルをwgetコマンドで入手します。
$ cd /tmp
$ wget https://github.com/peco/peco/releases/download/v0.5.3/peco_linux_amd64.tar.gz
ファイルを解凍します。
$ tar -zxvf peco_linux_amd64.tar.gz
パスが取っているディレクトリにpecoコマンドバイナリファイルをコピーします
$ cd peco_linux_amd64
$ sudo cp peco /usr/local/bin
ctrl + rで入力履歴からコマンドを選択できるように.bashrc
を編集します。
$vi ~/.bashrc
bashrcの末尾に追加します。
https://gist.github.com/ihatov08/c5cc2de24f5df2b90e2a4ab583757d1a
↑のgistと↓の内容は同じです。↓の内容は覚える必要はないので↑からコピペするとよいでしょう。
peco-select-history() {
declare l=$(HISTTIMEFORMAT= history | \
sort -k1,1nr | \
perl -ne 'BEGIN { my @lines = (); } s/^\s*\d+\s*//; $in=$_;
if (!(grep {$in eq $_} @lines)) { push(@lines, $in); print $in; }' |\
peco --query " $READLINE_LINE")
READLINE_LINE="$l"
READLINE_POINT=${#l}
}
bind -x '"\C-r": peco-select-history'
変更を反映します。
$ source ~/.bashrc
ctrl + r
を押してみましょう。
historyからコマンドを検索、実行できるようになりました。