Wie kann ich den schreibgeschützten Modus in Vim verlassen?
On Februar 18, 2021 by adminIch habe eine Datei im schreibgeschützten Modus geöffnet. Gibt es eine Möglichkeit, den schreibgeschützten Modus zu verlassen?
Kommentare
- Welche Einschränkungen im schreibgeschützten Modus stören Sie? Wenn es nur ' ist, dass Sie die Datei schreiben möchten, obwohl Sie sie schreibgeschützt öffnen, fügen Sie dem ine
!
hinzu Der Befehl div id = „9d15190c73″>
erledigt den Trick, wie Michael sagte.
w
. heh Antwort
Sie können dies tun:
:set noro
Damit wird das schreibgeschützte Flag deaktiviert, aber wenn Die zugrunde liegende Datei kann von Ihnen immer noch nicht geschrieben werden, dann kann vim immer noch nicht darauf schreiben.
Kommentare
- wie man dies umkehrt und zurückgeht Nur zum Lesen?
- @LouisHong Sehr einfach:
:set ro
. - Dies ist ideal, wenn Sie eine beschreibbare Datei mit
view
aber entscheiden Sie sich dann, es zu bearbeiten. - Das Gegenteil kann auch nützlich sein. Beispielsweise verfügt
psql
über einen Meta-Befehl (\ev
) zum Bearbeiten einer SQL-Ansicht, mit der vim zum Schreiben geöffnet wird. Wenn ich jedoch sicherstellen möchte, dass ich ' die Ansicht (in der Produktion!) Nicht wirklich ändere, kann ich sofort:set ro
. 🙂
Antwort
Sie können chmod
von innen ausführen vim:
:!chmod +w %
!
bedeutet, einen Shell-Befehl auszuführen, und %
ist der aktuelle Dateiname. Sie können das Schreiben der Datei auch einfach erzwingen:
:w!
Antwort
Zusätzlich Zur Antwort von Michael Mrozek können Sie Ihrer .vimrc
eine Zeile hinzufügen, mit der Sie in eine Datei schreiben können dass Sie es versäumt haben, mit erhöhten Berechtigungen zu öffnen:
" Allows writing to files with root priviledges cmap w!! w !sudo tee % > /dev/null
Wenn die Datei schreibgeschützt ist, müssen Sie nur :
Antwort
Während :set noro
den Job ausführt, wird nicht geprüft, ob die Datei von einer anderen vim-Instanz oder geöffnet wurde aktualisiert die Datei, wenn sie extern geändert wird.
Um es bearbeitbar zu machen und nach Auslagerungsdateien zu suchen (dies ist die Standardeinstellung beim Öffnen einer Datei mit vim), verwenden Sie einfach den Befehl edit (: help edit):
:e
Hinweis: Wenn die Datei seitdem manipuliert wurde (auch außerhalb von vim), werden die Änderungen im aktuellen Puffer aktualisiert (was ich normalerweise wünschenswert finde).
Antwort
Hier bin ich, obwohl etwas spät, vielleicht haben Sie Ihren Zweifel bereits gelöst;) Ich habe es nicht gesehen Jeder der Kommentare, die ich mit vim kenne, füge ich hinzu:
Sobald Sie Wenn Sie eine Datei bearbeiten, drücken Sie :w
oder :wq
und Sie sehen die nervige Meldung „ E45 „schreibgeschützt“ Option ist gesetzt (add! to override) „
Sie können
:w !sudo tee %
eingeben
-
w
schreibt den Puffer, -
!sudo
ruft die Shell mit sudo auf, -
tee
leitet die Ausgabe vonvim :w
an die Ausgabe mit tee und - ist der aktuelle Dateiname
Und das sollte den Trick machen. Beachten Sie, dass dies dazu führt, dass die Datei in vim neu geladen wird. Wenn Sie L
Antwort
Versuchen Sie Folgendes:
vim -R "filename"
es wird im schreibgeschützten Modus geöffnet, dann führen Sie einfach diesen Befehl aus: q
Ich habe es versucht und es hat bei mir funktioniert
Kommentare
- Entschuldigung. Ich habe keine Ahnung, was Sie sagen.
Antwort
Versuchen Sie es mit sudo
. Als root
müssen Sie die Datei öffnen. Sudo
ist ein Befehl, mit dem Sie die Berechtigung von Linux anfordern können.
zB
sudo vim "filename"
Kommentare
- Dies hat nichts mit Berechtigungen oder Berechtigungen zu tun.Darüber hinaus sollten Sie niemals
sudo
verwenden, um einen Editor auszuführen. Verwenden Sie stattdessensudoedit
.
Schreibe einen Kommentar