pecoの設定(コマンド履歴・ディレクトリ移動履歴・プロセスキル)
pecoの設定追加してみました。
以下のコマンドで
- C-r :コマンド履歴
- C-@ :ディレクトリの移動履歴
- C-x k :プロセスキル
ができます。
######################################## # peco ######################################## alias -g P='| peco' if [ -x "`which peco`" ]; then alias ll='ls -la | peco' alias tp='top | peco' alias pp='ps aux | peco' function peco-select-history() { local tac if which tac > /dev/null; then tac="tac" else tac="tail -r" fi BUFFER=$(history -n 1 | eval $tac | awk '!a[$0]++' | peco --query "$LBUFFER") CURSOR=$#BUFFER zle clear-screen } autoload -Uz is-at-least if is-at-least 4.3.11 then autoload -Uz chpwd_recent_dirs cdr add-zsh-hook add-zsh-hook chpwd chpwd_recent_dirs zstyle ':chpwd:*' recent-dirs-max 5000 zstyle ':chpwd:*' recent-dirs-default yes zstyle ':completion:*' recent-dirs-insert both fi zle -N peco-select-history bindkey '^r' peco-select-history function peco-cdr () { local selected_dir=$(cdr -l | awk '{ print $2 }' | peco) if [ -n "$selected_dir" ]; then BUFFER="cd ${selected_dir}" zle accept-line fi zle clear-screen } zle -N peco-cdr bindkey '^@' peco-cdr function peco-kill-process () { ps -ef | peco | awk '{ print $2 }' | xargs kill zle clear-screen } zle -N peco-kill-process bindkey '^xk' peco-kill-process fi