Improve fish shell startup time
Turns out, `set -U` appends values every time which made fish_variables
quite large. `set -g` is more well-behaved to put in `fish/conf.d`
scripts.
Also update vscode settings for diff view, add spell check extension,
minor other fixes.