Vim скаржиться на тимчасовий файл під час відкриття виділених синтаксисом файлів у Mac OS X


8

Коли я намагаюся відкрити файл (наприклад, test / test_sequence.rb) за допомогою Vim або MacVim, я отримую таку помилку:

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

Це здається обмеженим лише для файлів, які мають якесь виділення синтаксису. Я ще можу редагувати файл, але мені потрібно використовувати: w! написати зміни вперше. Я використовую vim на Mac OS X. Я дуже спробував гуглінг за цю помилку, не пощастивши, і це стало дуже неприємно. Може хтось запропонує виправити це?

EDIT: Я не отримую цієї помилки під час редагування виділених синтаксисом файлів LaTeX, але це стосується виділених синтаксисом файлів Ruby.

Відповіді:


6

Виявляється, проблема була з оболонкою. Vim намагався використовувати / bin / screen як оболонку

set shell /bin/sh

У моєму vimrc виправлена ​​проблема.


3
Просто натисніть на це, коли я змінив свою оболонку входу на рибну оболонку. Дякую за пораду :)
Yeraze

Те саме тут, після встановлення стандартної оболонки для лову риби це трапилось і зі мною :)
imslavko

3
Ну, це повинно було додати: set shell=/bin/bash.
paldepind

для мене синтаксис повинен був бутиset shell=/bin/sh
Ганеш Хегде

Але все це видається для мене типів фільму = специфічно для рубіну.
ThomasH

1

Я виявив, що якщо ви suінший користувач, процеси, що намагаються використовувати тимчасові файли, можуть призвести до помилки /var/folders/zO/zOCN9kiiGD4keWX3TWYEh++++TI/-Tmp-/vzTkbXD/0: permission denied; виправлення цього полягає в тому, що unset TMPDIR(що, на мою думку, спричиняє /tmpвикористання замість цього), оскільки вказаний TMPDIR специфічний для старого користувача і не може бути записаний поточним користувачем.

Ви не сказали, чи користуєтесь ви suчи іншим користувачем, що перемикається, і в повідомленні про помилку не вказано, що дозволу відмовлено, але ...


Дякую за пропозицію. Я спробував змінити розташування $ TMPDIR на / tmp. Натомість я отримую помилку, яка вказує на / tmp / vzTkbXD / 0 зараз.
Майкл Бартон

1
Спробуйте unset TMPDIRзамість цього. А в чому помилка? Якщо повідомлення дійсно не відображає його, запустіть sudo fs_usage MacVim(зауважте, що названий процес повинен уже працювати ) та зазначте, що таке помилка під час його відкритого () дзвінка.
Кевін Рейд

Дякую за ваші подальші пропозиції спробувати вирішити це для мене, це дуже цінується. Я спробував скинути $ TMPDIR, але це також не усуває помилку. На жаль, я не знайомий з командою fs_usage і не зміг створити номер помилки для відкритого процесу на виході fs_usage. Тут я вставив повний висновок fs_usage, якщо це не має користі - cl.ly/5c01de97b2276a73b569
Michael Barton,

0

Vim намагається відкрити файл swap, ви намагалися відремонтувати дозволи?


1
Дякую за пропозицію. Я лише двічі запустив дозволи на відновлення дискової утиліти, але я все ще бачу ту саму проблему.
Майкл Бартон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.