git status から peco でファイルを絞り込んでカーソル位置にパスを挿入する zsh widget
を書きました。
動機
元ネタ : git addするファイルをpecoで選択できるようにした
- これを git add だけでなく git reset, git rm, etc でも使いたい
- しかしそのたびにキーバインドを考えるのは嫌だ
- 覚えるのも嫌だ
- ということはカーソル位置にファイルパスを含められれば解決だ
.zshrc
function peco_select_from_git_status(){
git status --porcelain | \
peco | \
awk -F ' ' '{print $NF}' | \
tr '\n' ' '
}
function peco_insert_selected_git_files(){
LBUFFER+=$(peco_select_from_git_status)
CURSOR=$#LBUFFER
zle reset-prompt
}
zle -N peco_insert_selected_git_files
bindkey "^g^s" peco_insert_selected_git_files
これでもう git rm や git diff の直後に ^g^s と打てば peco から git status 内のファイルを絞り込めます。複数個の選択もバッチリです。
しあわせ!
Author And Source
この問題について(git status から peco でファイルを絞り込んでカーソル位置にパスを挿入する zsh widget), 我々は、より多くの情報をここで見つけました https://qiita.com/jwhaco/items/0751f391d6f55497a067著者帰属:元の著者の情報は、元の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 .