当我尝试使用 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 正在尝试打开交换文件,您是否尝试过修复权限?