There's a caveat with process substitution; the command can't seek() on the input file.
If if a command, for example, needs to do 2 passes, it'll will either have to be 'smart' enough to stick the output in a buffer or fail.
If if a command, for example, needs to do 2 passes, it'll will either have to be 'smart' enough to stick the output in a buffer or fail.
vimdiff =(ls /bin) =(ls /usr/bin)
You can use it even from bash:
zsh -c 'vimdiff =(ls /bin) =(ls /usr/bin)'
vimdiff <(ls /bin) <(ls /usr/bin)