I like process substitution feature in zsh. In bash you can write:
vimdiff <(ls /bin) <(ls /usr/bin) [ It is an example. In real world, I use this feature for comparing outputs of one version of program with another one ]
And this will create two pipes, where output of each ls will go. Unfortunately, vimdiff sometimes needs to do second pass on the files, so this command won't work properly when outputs are large.
But in zsh you can write
vimdiff =(ls /bin) =(ls /usr/bin)
and this will create temporary normal files, instead of just pipes, and vimdiff will work fine.
vimdiff <(ls /bin) <(ls /usr/bin) [ It is an example. In real world, I use this feature for comparing outputs of one version of program with another one ]
And this will create two pipes, where output of each ls will go. Unfortunately, vimdiff sometimes needs to do second pass on the files, so this command won't work properly when outputs are large.
But in zsh you can write
vimdiff =(ls /bin) =(ls /usr/bin)
and this will create temporary normal files, instead of just pipes, and vimdiff will work fine.