pecoでgitのルートに移動する
Zshでcdrをpecoにかませると便利ですね。
http://qiita.com/syui/items/f2fe51d00378210d10b1
僕はこの方のスクリプトを使わさせてもらっています。
ところで、僕は作業するときにgitのルートディレクトリへ移動してから何をするかを考えるので、cdrと組み合わせてそれを実行させたいと思います。
$ cdr -l | awk '{ print "\\ls -d " $2 "/.git" " 2>/dev/null" }' | sh \
| sed -e "s;^$HOME;~;" | sed -e "s|/\.git$||" | peco
これを関数にしてbindkeyして使っています
function peco-git-cd() {
local selected_dir=$(cdr -l | awk '{ print "\\ls -d " $2 "/.git" " 2>/dev/null" }' | sh \
| sed -e "s;^$HOME;~;" | sed -e "s|/\.git$||" | peco )
if [ -n "$selected_dir" ]; then
BUFFER="cd ${selected_dir}"
zle accept-line
fi
zle clear-screen
}
zle -N peco-git-cd
bindkey '^@' peco-git-cd
ちょっと実行に時間が掛かるのでシェルの効率化やキャッシュやら作ったほうがいいんでしょうけど、まずは許容範囲という感じです。
Author And Source
この問題について(pecoでgitのルートに移動する), 我々は、より多くの情報をここで見つけました https://qiita.com/tetsutan/items/1bd13f79fdaf0b17cceb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .