Wenn Sie Vim zum Bearbeiten einer schreibgeschützten Datei verwenden, wird beim erstmaligen Bearbeiten lediglich eine Warnung angezeigt, es können jedoch Änderungen vorgenommen werden. Ich kann verstehen, dass dieses Verhalten für jemanden nützlich sein kann, der beabsichtigt, die Datei unter einem anderen Namen zu speichern. Manchmal öffne ich jedoch Dateien, auf die ich keinen Schreibzugriff habe, vergesse sie dann und nehme Änderungen vor.
Ist es möglich, in einen Modus zu wechseln, in dem Vim die Anzeige der Datei zulässt, jedoch alle Optionen blockiert, die Änderungen vornehmen?
quelle
let &modifiable = !&readonly
autocmd BufRead * let &modifiable = !&readonly
readonly
Datei und dem Erstellen eines neuen Puffers endet der neue Puffer damitnomodifiable
.Fügen Sie dies zu Ihrer .vimrc hinzu:
quelle
Soweit die obigen Antworten korrekt sind, ist Folgendes zu beachten: Solange die Datei "schreibgeschützt" ist, sollte es keine Möglichkeit geben, den Inhalt der Datei zu ändern, es sei denn, Sie sind der Eigentümer der Datei oder habe das Recht, diese Datei beschreibbar zu machen. Und selbst dann schreibt vim keine Änderungen in die Datei, es sei denn, Sie überschreiben den Status "Nur Lesen" explizit mit ": w!".
Wenn Sie tatsächlich eine Datei bearbeiten können, die schreibgeschützt sein soll, möchten Sie möglicherweise die Rechte erneut überprüfen. Möglicherweise liegt eine falsche Sicherheitskonfiguration vor. Wenn Sie nur vim nicht in die Lage versetzen, die Datei zu bearbeiten, sind andere Bearbeitungsmöglichkeiten weiterhin vorhanden. Wenn die Datei nicht geändert werden soll, sollten die Rechte ordnungsgemäß festgelegt sein. In Windows können Sie den Schreibschutz der Datei erzwingen, indem Sie explizit das Änderungsrecht für alle Benutzer verweigern. In Linux können Sie das erweiterte Attribut "unveränderlich" (chattr + i) verwenden.
quelle