#!/bin/zsh z-history() { local list zparseopts -E l=list if [[ -n "$list" ]]; then builtin fc "$@" else [[ ${@[-1]-} = *[0-9]* ]] && builtin fc -il "$@" || builtin fc -il "$@" 1 fi } z-grephist() { local x x=$1 ; shift z-history -m "*${x}*" "$@" }