The external diff tool in SourceTree (windows version) is not working at all. When system default is used, it tries to run vim.exe (presumably for vimdiff?), but nothing happens, vim.exe will just keep using the CPU resource until it's forced to terminate. Any other "out-of-the-box" tools I tried (kdiff3 and diffmerge) doesn't work as well. I tried looking at the sourcetree.exe.config, and found out that the difftool value is set to -1.
What is the correct way to setup a external difftool (and mergetool) for Window's SourceTree? Does it have to run under administrator privilege?