__vi_internal_vim_alias() ( # if user installs vim-enanced and alias is already set test -f /usr/bin/vim && exec vim "$@" # if user hates the "No vim found .." interrupting message test -f "$HOME"/.i-know-vim-is-vi && exec vi "$@" if [ -n "${ZSH_VERSION-}" ]; then read -t 10 -s -k 1 '?No vim found, using vi, press ENTER to continue...' && echo '' else read -rep $'No vim found, using vi, press ENTER to continue...\n' -n1 -t 10 -s fi exec vi "$@" ) if [ -n "${BASH_VERSION-}" -o -n "${KSH_VERSION-}" -o -n "${ZSH_VERSION-}" ]; then # This will avoid user defined aliases and possibly stuff defined earlier in the PATH. case "$(command -v vim)-$(command -v vi)" in /usr/bin/vim-/usr/bin/vi) # apply only when founded vim and vi are in expected dirs from distro alias vi=vim alias view="vim -R" ;; -/usr/bin/vi) # apply only if founded vi is in expected dir from distro alias vim=__vi_internal_vim_alias ;; esac fi