在fish shell中运行vim时,vim启动时会出现错误

14
这是我的错误信息:
~> vim .tmux.conf 
Error detected while processing /Users/###/.spf13-vim-3/.vim/bundle/syntastic/plugin/syntastic.vim:
line   23:
E484: Can't open file /var/folders/c4/4nb5t7cs3wb17_g1w5030xc40000gn/T/vmIMCqB/0
Error detected while processing /Users/###/.spf13-vim-3/.vim/bundle/vim-preview/plugin/preview.vim:
line   94:
E484: Can't open file /var/folders/c4/4nb5t7cs3wb17_g1w5030xc40000gn/T/vmIMCqB/1
Press ENTER or type command to continue

我已经检查了每个文件中的这些行,它们都调用了system('uname'),而我对此不太熟悉。我认为这个错误可能与 TERM 有关(在 tmux 外部为 xterm-256color,在内部为 screen-256color),但是在 .tmux.conf 中更改这个设置没有效果。

这种情况发生在任何文件中。

我使用的是 Mac OS X 10.8.1、vim 7.3、tmux 1.6,并且使用 fish shell。


这些/var/...文件夹存在吗?为什么你的.vim/文件夹位于那个~/.spf13-vim-3文件夹中?为什么uname会尝试读取一些随机临时文件夹的内容? - romainl
在控制台运行 uname 是否会生成类似的错误? - Michael Schuller
迈克尔 - uname 命令打印出“Darwin”。 - schellsan
罗马尼 - /var 存在,并且在阅读了有关 system() 函数的信息后,我发现它执行一个 shell 命令并将其打印到一个临时文件中,然后再读取出来... http://vimdoc.sourceforge.net/htmldoc/eval.html#system() - schellsan
Romani - 另外,spf13是一个定制的vim发行版(https://github.com/spf13/spf13-vim) - schellsan
1个回答

31

9
具体地说,我在我的 .vimrc 文件的开头添加了以下内容:set shell=/bin/sh - schellsan
1
谢谢。这也发生在我身上。我尝试了fish,得到了这个错误,然后回到bash,仍然出现了这个问题。对我来说,这是与vim-sensible插件相关的。在处理/Users/jth21/.dotfiles/link/.vim/bundle/vim-sensible/plugin/sensible.vim时检测到错误: 第75行: E484: 无法打开文件/var/folders/gp/ybhqyzf50jndxdmfk5qlq6t40000gq/T/vr3ui14/0 按ENTER键或输入命令继续shell=/bin/sh添加到~/.vimrc中也解决了我的问题。 - ytjohn
@JohnH 你用chsh -s /bin/bash设置bash为默认shell了吗? - gawbul
@SteveMoss 我不认为我这样做了(但我不能确定)。我检查了我的bash历史记录,所有的chsh命令都被更改为fish。我还检查了我的fish历史记录,没有记录任何chsh命令。 - ytjohn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接