Существует решение, которое будет работать с псевдонимами, но не с функциями или скриптами. В вашем случае с git log
этого достаточно.
Создайте псевдоним.
mygitlog="git log --since='1 year ago'"
Включить compinit для завершения zsh в вашем .zshr c.
autoload -Uz compinit && compinit
Отключить completealiases опция, которая запрещает внутреннее замещение псевдонимов до попытки завершения.
unset completealiases
После ввода mygitlog
и двойного нажатия Tab
в Git репозитории, zsh предложит вам коммиты и теги, сделанные за последний год.