Blob Blame History Raw
__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