function my-accept-line { emulate -L zsh local -a cmd; cmd=(${(z)BUFFER}) case "$cmd[0]" in *.log) BUFFER="$PAGER $BUFFER" ;; *) if [ -z "`whence $cmd[0]`" ]; then BUFFER="echo $BUFFER" fi ;; esac zle accept-line } zle -N my-accept-line bindkey '^J' my-accept-line