In my daily work, I only deal with unified diffs, so I would like to define the alias
alias diff='diff -puN'
in my .zshrc.
This alias is not respected when I use the shell from the vim command line mode, i.e., when I enter :!diff file1 file2. I believe this is because vim does not invoke an interactive shell.
Thus, I moved the alias from .zshrc to .zshenv which allows me to get plain old unified diffs from within vim (I usually prefer this output over vimdiff's).
On the other hand, doing this breaks vimdiff which apparently is unable to parse unified diffs (It spawns Error E97, but neither its explanation in help E97 nor the references seem to be useful to me: either they seem unrelated (e.g. the shell option) or are above my head (the diffexpr option).
How should I go about having both
vimdiffand my alias fordiffwork at the same time?