在 Mac OS X 上打开语法高亮文件时,Vim 会提示出现临时文件

在 Mac OS X 上打开语法高亮文件时,Vim 会提示出现临时文件

当我尝试使用 Vim 或 MacVim 打开文件(例如 test/test_sequence.rb)时,出现以下错误:

"test/test_sequence.rb" 109L, 3697C
Vim(let):E484: Can't open file /var/folders/zO/zOCN9kiiGD4keWX3TWYEh++++TI/-Tmp-/vzTkbXD/0

这似乎仅限于具有某种语法高亮的文件。我仍然可以编辑文件,但第一次必须使用 :w! 写入更改。我在 Mac OS X 上使用 vim。我尝试了很多次谷歌搜索这个错误,但没有成功,这真的令人沮丧。有人能解决这个问题吗?

编辑:在编辑语法高亮的 LaTeX 文件时不会出现此错误,但编辑语法高亮的 Ruby 文件时会出现此错误。

答案1

问题出在 shell 上。Vim 尝试使用 /bin/screen 作为 shell

set shell /bin/sh

在我的 vimrc 中修复了这个问题。

答案2

我发现,如果您su切换到不同的用户,尝试使用临时文件的进程可能会产生类似的错误/var/folders/zO/zOCN9kiiGD4keWX3TWYEh++++TI/-Tmp-/vzTkbXD/0: permission denied;解决这个问题的方法是unset TMPDIR(我认为这会导致/tmp使用),因为指定的 TMPDIR 特定于旧用户,并且当前用户不可写入。

您还没有说您是否正在使用su或任何其他用户切换,并且错误消息没有提到权限被拒绝,但是......

答案3

Vim 正在尝试打开交换文件,您是否尝试过修复权限?

相关内容