web-dev-qa-db-de.com

vim "modifizierbar" ist aus

Versuch, eine neue Datei mit Nerd-Baum zu erstellen. Ich drücke die a Taste, um eine neue Datei zu erstellen und erhalte die Nachricht:

E21: Cannot make changes, 'Modifiable' is off

Ich verwende MacVim und Janus (fast out of the box)

118
wesbos
:set ma

was ist kurz für 

:set modifiable

macht einen Puffer modifizierbar. Und

:set noma

tut das Gegenteil.

194
Adam Soltys

Ich bin nicht mit NerdTree vertraut, aber ich schätze, dass ich das tippe a In einer Nerdtree-Ansicht wird dies als "Ich möchte etwas in den Nerdtree-Puffer einfügen" interpretiert, und dieser Puffer kann nicht geändert werden.

Sie können diese Antwort überprüfen vim und die NERD Tree-Erweiterung - Hinzufügen einer Datei Hier wird erklärt, wie Sie eine Datei mit Nerdtree hinzufügen.

16
Xavier T.

Wenn Sie eine Datei in NERDTree erstellen möchten, müssen Sie "m" (für Menü) und dann "a" drücken. Das einfache Einfügen von "a" in den NERDTree-Puffer wird als "NERDTree-Puffer ändern" interpretiert. Durch das Hinzufügen von: ma wird der NERDTree-Puffer modifizierbar, aber dies erstellt keine neuen Dateien für Sie, es führt zu inkonsistenten Informationen zwischen der Anzeige von NERDTree und Ihrer tatsächlichen Dateihierarchie.

1
Jeremy Fouriaux

Ok, dies ist möglicherweise nicht die am besten informierte Antwort, da ich kaum Kenntnisse in vim oder linux habe. Aber ich habe eine Lösung für mein Problem gefunden und es könnte für Sie funktionieren. Um genau zu sein, mein Problem war zweifach:

1) Immer wenn ich versuchte, etwas in dieser neuen Datei zu bearbeiten, die ich erstellt habe, bekam ich die Möglichkeit, keine Änderungen vorzunehmen. "Modifizierbar" ist fehlerfrei und ...

2) Nach dem Laufen: modifizierbar einstellen und versuchen zu speichern, ich würde einen e382-Fehler von 'kann nicht schreiben' erhalten, Buftyp wird gesetzt. also konnte ich nicht sparen.

Nachdem ich mir eine Menge nutzloser kryptischer Dokumentationen gegossen hatte, fand ich folgendes heraus:

1) Finden Sie das Verzeichnis .vimviews. Für mich war es das Stammverzeichnis meines Git-Repositorys 

ls 

im Inneren. Ich habe so etwas wie:

~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
~=+www-halo=+test=+lib=+Halo=+Service=+LandmarkTest.php=
~=+www-halo=+test=+lib=+Halo=+Transaction=+AuthnetTest.php=

Was für Sie völlig unbrauchbar ist, da Sie eine andere Dateistruktur haben. Suchen Sie jedoch nach der Datei, die das Problem verursacht. (Ach ja, das sind in der Tat Dateinamen, was bei Betrachtung nicht offensichtlich ist). Finden Sie die Datei, die die fragliche Datei enthält, und löschen Sie diesen Trottel: Beispiel:

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

Problem gelöst.

1
Dallas Caley

Für den Fall, dass ein anderer Benutzer auf Google zugreift, überprüfen Sie, ob Sie nicht versuchen, ein Verzeichnis in vim zu öffnen, wie ich es gerade getan habe (d'oh).

0
Max Williams

Das hat bei mir funktioniert:

:set buftype=
:w
0
mipmip