Вам понадобится alias -s
поведение.Из справочных страниц:
ALIASES
Suffix aliases are supported in zsh since version 4.2.0. Some examples:
alias -s tex=vim
alias -s html=w3m
alias -s org=w3m
Now pressing return-key after entering foobar.tex starts vim with foobar.tex. Calling
a html-file runs browser w3m. www.zsh.org and pressing enter starts w3m with argument
www.zsh.org.
Объедините вашу письменную функцию с псевдонимом суффикса, и вы должны быть настроены на переход!
Сначала напишите свою функцию в следующем виде:
compile_c () {
gcc $1 -o ${1%.*}
}
И тогда псевдоним суффикса
alias -s c='compile_c'
будет работать как положено.