シェル上でリストからのインクリメンタルサーチを可能とする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 -D
やgit checkout
と組み合わせて使う。
git checkout -b $(git branch -a | grep -v "\->" | peco | sed -e "s/^\*\s*//g")
実際にはgit
やcheckout
、この長い後ろの部分は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 ch
やg c --fixup ch
のような感じで使う。