xxxasdfghjk/使っているpecoコマンドまとめ

Created Thu, 13 Oct 2022 23:26:00 +0900
609 Words

シェル上でリストからのインクリメンタルサーチを可能とするpecoが超便利

lsして、ディレクトリ名を確認して、cd hogehogeなんてのは平成で終わりです。

最強のインクリメンタルサーチツールpecoを使って注意力の消耗とタイポ抽選を回避しましょう。

使ってるものを適当にまとめ。 何か思いついたら追記するかも。

lscd

cd $(ls -d */| peco)

とりあえず直下のディレクトリを覗きたいときに。

だけど「やっぱcdしたくないのう…」というときはあるもの。 なんとpecoで何も選ばないと引数なしcdが実行されてホームディレクトリに送りに…。

関数化して無入力時の処理を書いておくことで回避可能。

function lscd(){
    local dir="$(ls -1d */ | peco)"
    if [ ! -z "$dir" ] ; then
        cd "$dir"
    fi
}
alias d=lscd

git branch

git branch -a | grep -v "\->" | peco | sed -e "s/^\*\s*//g"

山あるブランチからすぐに選べる。pecoの醍醐味。

git branch -Dgit checkoutと組み合わせて使う。

git checkout -b $(git branch -a | grep -v "\->" | peco | sed -e "s/^\*\s*//g")

実際にはgitcheckout、この長い後ろの部分はaliasにしといて、g o Bで起動するようにしている。

キーに割り当ててもいいかもしれない。

grepオプションはお好みで。

git log

git log --pretty=format:"%h %cd %cn:%s" |
 peco --prompt "COMMIT HASH>" | cut -f1 -d " "

コミットログからハッシュ値を持ってくるときに使う。

git rebase時やgit commit --fixupのときにめちゃくちゃ便利。

自分はalias ch='git log…'としておいて、g rebase -i chg c --fixup chのような感じで使う。