vim "модифицируемый" выключен - PullRequest
128 голосов
/ 21 апреля 2011

Попытка создать новый файл с деревом ботаников.Я нажимаю клавишу a для создания нового файла и получаю сообщение:

E21: Cannot make changes, 'Modifiable' is off

Я использую MacVim и Janus (почти из коробки)

Ответы [ 5 ]

207 голосов
/ 14 марта 2012
:set ma

, что сокращенно от

:set modifiable

, сделает буфер модифицируемым.И

:set noma

делает наоборот.

16 голосов
/ 21 апреля 2011

Я не знаком с NerdTree, но думаю, что, набрав a в представлении nerdtree, это интерпретируется как «Я хочу добавить что-то в буфер nerdtree», и этот буфер не подлежит изменению.

Вы можете проверить этот ответ vim и расширение NERD Tree - добавив файл , который объясняет, как добавить файл с помощью Nerdtree.

1 голос
/ 07 марта 2018

Если вы хотите получить файл в NERDTree, вам нужно нажать «m» (для меню), а затем «a».Простое введение «a» в буфер NERDTree будет интерпретироваться как «изменить буфер NERDTree».Добавление: ma сделает буфер NERDTree модифицируемым, но это не создаст новые файлы для вас, это приведет к противоречивой информации между тем, что отображает NERDTree, и вашей фактической иерархией файлов.

1 голос
/ 09 октября 2012

Хорошо, это может быть не самый информированный ответ, так как у меня едва есть практические знания о vim или linux, но я нашел решение моей проблемы, и оно может помочь вам.Точнее говоря, моя проблема была двоякой:

1) всякий раз, когда я пытался редактировать что-то в этом новом файле, который я создал, я получал сообщение Невозможно внести изменения, «Изменяемый» отключен, ошибка ...

2) после запуска: установите модифицируемое значение и попытайтесь сохранить, я получил бы ошибку e382 «невозможно записать, установлен тип buf».поэтому я не смог сохранить.

После заливки огромного количества бесполезной загадочной документации я понял это:

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=

Что совершенно бесполезно для вас, поскольку у вас другая файловая структура.но найдите файл, который дает вам проблему.(о, кстати, на самом деле это имена файлов, что совершенно не очевидно, если посмотреть на них).найдите тот, у которого есть рассматриваемый файл, и удалите эту присоску: пример:

rm ~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=

Проблема решена.

0 голосов
/ 21 сентября 2012

В случае, если кто-то еще столкнется с Google, проверьте, что вы не пытаетесь открыть каталог в vim, как я только что (d'oh)

...