Kiedy próbuję otworzyć plik (np. Test / test_sequence.rb) za pomocą Vima lub MacVima, pojawia się następujący błąd:
"test/test_sequence.rb" 109L, 3697C
Vim(let):E484: Can't open file /var/folders/zO/zOCN9kiiGD4keWX3TWYEh++++TI/-Tmp-/vzTkbXD/0
Wydaje się, że jest to ograniczone tylko do plików z pewnego rodzaju podświetlaniem składni. Nadal mogę edytować plik, ale muszę użyć: w! zapisać zmiany za pierwszym razem. Korzystam z vima na Mac OS X. Próbowałem dużo googlingu z powodu tego błędu bez powodzenia i stało się to naprawdę frustrujące. Czy ktokolwiek mógłby to naprawić?
EDYCJA: Nie pojawia się ten błąd podczas edycji podświetlonych składni plików LaTeX, ale robię to z podświetlonymi składniami plikami Ruby.
set shell=/bin/bash
.set shell=/bin/sh
Odkryłem, że jeśli jesteś
su
innym użytkownikiem, procesy próbujące użyć plików tymczasowych mogą powodować błąd podobny do/var/folders/zO/zOCN9kiiGD4keWX3TWYEh++++TI/-Tmp-/vzTkbXD/0: permission denied
; naprawiono to wunset TMPDIR
(co, jak sądzę, powoduje, że/tmp
należy go użyć), ponieważ podany TMPDIR jest specyficzny dla starego użytkownika i nie może być zapisywany przez bieżącego użytkownika.Nie powiedziałeś, czy używasz,
su
czy w inny sposób zmieniasz użytkowników, a komunikat o błędzie nie wspomina o odmowie dostępu, ale ...źródło
unset TMPDIR
zamiast tego. A jaki jest błąd? Jeśli komunikat naprawdę go nie pokazuje, uruchomsudo fs_usage MacVim
(zauważ, że nazwany proces musi już być uruchomiony ) i zwróć uwagę na to, jakie jest errno w jego wywołaniu open ().Vim próbuje otworzyć plik wymiany, czy próbowałeś naprawić uprawnienia?
źródło