Pecoで(ちょっと)汎用ディレクトリ選択function(zsh専用)
Pecoが流行っているので使ってみたらよい感じだったので開始してみました。
現状、多くのスニペットが特定のコマンド専用っぽい感じだったので、変化球を。
~/.zshrc
function peco-dfind() {
local current_buffer=$BUFFER
# .git系など不可視フォルダは除外
local selected_dir="$(find . -maxdepth 5 -type d ! -path "*/.*"| peco)"
if [ -d "$selected_dir" ]; then
BUFFER="${current_buffer} \"${selected_dir}\""
CURSOR=$#BUFFER
# ↓決定時にそのまま実行するなら
#zle accept-line
fi
zle clear-screen
}
zle -N peco-dfind
bindkey '^x^f' peco-dfind
上記コマンドを.zshrcに入れておくことで、cd
まで打ったあと、^x^f
を打つことで5階層下までのディレクトリ一覧を表示してpecoに渡します。あとは、絞り込みをして決定。 cdだけでなく、findやlsなど、どのコマンドにも適用可能です。
更新
なにも入力がない状態で、^d
を受け取るとzshがログアウトを実行してしまうため、もともと^x^d
としていたショートカットを^x^f
に更新しました。
Author And Source
この問題について(Pecoで(ちょっと)汎用ディレクトリ選択function(zsh専用)), 我々は、より多くの情報をここで見つけました https://qiita.com/ymorired/items/4b0d8e95786efc1378b4著者帰属:元の著者の情報は、元の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 .