最近 peco にドハマりしているのだけど、
もはやパスを入力する操作はすべて peco
でやってしまおうと思ってこんな .zshrc
を書いた。
(peco
って何よ? って人は こちら を見るといいです)
export EDITOR=vim # 好きなエディタ function peco-path() { local filepath="$(find . | grep -v '/\.' | peco --prompt 'PATH>')" [ -z "$filepath" ] && return if [ -n "$LBUFFER" ]; then BUFFER="$LBUFFER$filepath" else if [ -d "$filepath" ]; then BUFFER="cd $filepath" elif [ -f "$filepath" ]; then BUFFER="$EDITOR $filepath" fi fi CURSOR=$#BUFFER } zle -N peco-path bindkey '^f' peco-path # Ctrl+f で起動
状況に応じて3パターンの動作をする
Ctrl+f
で peco
が起動して、
カレントディレクトリ以下のファイルとディレクトリを選択できるのだけど、
選択したあとは状況に応じて3パターンの動作をする。
ファイルを選択すると、vim
が補完される
.zshrc
で export EDITOR=vim
していると、vim
が補完されてファイルを編集することができる。
もちろん他のエディタでも可。
ディレクトリを選択すると、 cd
が補完される
これと setopt auto_cd
と popd
コマンド でディレクトリ移動が捗る。
コマンド入力途中で呼び出すと、パスだけを挿入する
汎用的に使える。
まとめ
peco
、ハマると本当に手放せなくなるので騙されたと思って使ってみるといいです。