Відповіді:
:set ma
чого коротко
:set modifiable
зробить буфер модифікованим. І
:set noma
робить навпаки.
:set buftype: " "
для написання файлу після модифікації (згодом повідомлення Cannot write, 'buftype' option is set
)
Я не знайомий з NerdTree, але я гадаю, що, ввівши aв подання Нердтрі, це трактується як "я хочу додати щось у буфер nerdtree", і цей буфер не змінюється.
Ви можете перевірити цей відповідь vim та розширення дерева NERD - додавши файл, який пояснює, як додати файл за допомогою Nerdtree.
a
відображення, це призведе до того, що він спробує додати новий текст.
Це працювало для мене:
:set buftype=
:w
=
?
buftype
Гаразд, це може бути не найінформованішою відповіддю, оскільки я ледве володію знаннями про vim чи linux, але я знайшов рішення своєї проблеми, і це може працювати для вас. Якщо конкретніше, моя проблема була двоякою:
1) кожного разу, коли я намагався щось відредагувати в новому створеному файлі, я не зміг внести зміни, "Modifiable" вимикається помилка і ...
2) після запуску: встановити модифікований і намагаючись зберегти, я отримав би помилку e382 "не можу писати, тип файлу встановлюється. тому я не зміг врятувати.
Після того, як висипали безліч непотрібної криптовалютної документації, я з'ясував це:
1) знайдіть каталог .vimviews, для мене це було в корені мого сховища git, зробіть
ls
всередині нього. у мене щось таке:
~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
~=+www-halo=+test=+lib=+Halo=+Service=+LandmarkTest.php=
~=+www-halo=+test=+lib=+Halo=+Transaction=+AuthnetTest.php=
Що для вас абсолютно марно, оскільки у вас інша структура файлів. але шукайте файл, який доставляє вам проблему. (О, btw, це насправді імена файлів, що абсолютно не очевидно, дивлячись на них). знайдіть той, що має відповідний файл, і видаліть цей присосок: example:
rm ~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
Проблема вирішена.
Якщо ви хочете, щоб файл стався в NERDTree, вам потрібно натиснути "m" (для меню), а потім "a". Просто введення "a" в буфер NERDTree буде інтерпретуватися як "змінити буфер NERDTree". Додавання: ma зробить буфер NERDTree модифікованим, але це не створить нові файли для вас, це призведе до суперечливої інформації між тим, що відображається NERDTree, і вашою фактичною ієрархією файлів.
У випадку, якщо комусь іншому трапляється до Google, перевірте, чи не намагаєтесь ви відкрити каталог у vim, як я щойно був (d'oh)
Для мене я приховував зміни, які включали в себе каталог, який я намагався створити файл у тому режимі, який я щойно сховав. NERDTree все ще показував заздалегідь складене дерево разом із цим dir. Використання m
на dir, який не існує, призвело до зміни помилки. Я мав би оновити дерево, r
щоб побачити, що Діра вже немає, і чому його не можна змінити.
m
а потімa
додати новий файл у NERDTree