Mac上的Vimdiff无法正常工作

问题描述:

我正试图让vimdiff在我的Mac OX上运行 - 达尔文15.6和vim 7.3。当我与-V选项运行vimdiff同时,我看到下面的错误Mac上的Vimdiff无法正常工作

Calling shell to execute: "diff -a /var/folders/9p/2bnq24nd1qd75xn0sxg172kd6r9fpw/T/vha2EMz/0 /var/folders/9p/2bnq24nd1qd75xn0sxg172kd6r9fpw/T/vha2EMz/1 >/var/folders/9p/2bnq24nd1qd75xn0sxg172kd6r9fpw/T/vha2EMz/2" 
Calling shell to execute: "diff /var/folders/9p/2bnq24nd1qd75xn0sxg172kd6r9fpw/T/vha2EMz/0 /var/folders/9p/2bnq24nd1qd75xn0sxg172kd6r9fpw/T/vha2EMz/1 >/var/folders/9p/2bnq24nd1qd75xn0sxg172kd6r9fpw/T/vha2EMz/2" 
Error detected while processing function <SNR>6_VimEnter: 
line 2: 
E810: Cannot read or write temp files 
Error detected while processing function <SNR>6_VimEnter: 
line 2: 
E97: Cannot create diffs 

vha2EMz文件在/ var /文件夹/ 9P/2bnq24nd1qd75xn0sxg172kd6r9fpw/T不存在。我可以访问/ var /文件夹并在其中创建目录,所以它不是权限问题。任何人在基于Unix的系统上都有这种错误的经验

我根据this检查了我的/ usr/share/vimrc文件,但在那里找不到MyDiff()。这是问题吗?我应该替换/ usr/share/vimrc还是添加MyDiff定义?

问题是$ SHELL变量没有设置。 Vim从$ SHELL获取默认值。