Es kommt manchmal vor, dass ich eine Datei öffne und einige Änderungen als mein eigener Benutzer vornehme, ohne die [read-only]
Warnung in der Statuszeile zu bemerken oder zu "vergessen" (zB eine zufällige /etc
Konfigurationsdatei wie /etc/resolv.conf
).
:w!
offensichtlich scheitert in diesem Fall, weil mein Benutzer ohnehin keine Schreibberechtigung hat. Also muss ich :w /home/filename
raus und sudo mv ...
, sehr unangenehm.
Gibt es eine Möglichkeit, dass ich vorübergehend zu root eskaliere, um die aktuell geöffnete Datei speichern zu können? (vorausgesetzt ich bin in sudoers
oder / und ich kann su
direkt)?
quelle
SuperWrite
funktioniert, gibt aber die Datei an Sie zurück.:silent
Wenn Sie es laufen lassen, müssen Sie Ihr Passwort unsichtbar eingeben.silent
scheint gut zu funktionieren?w ! tee % > /dev/null
Dies gibt weiterhin das Ergebnis des Befehls (eine einzelne Zeile) wieder, jedoch nicht den gesamten Pufferinhalt.tee
Würde es nichtcat
auch funktionieren, wenn Sie nicht möchten, dass die Datei ausgedruckt wird, anstatt die Ausgabe zu verwenden und dann wegzuwerfen ?Ich verwende die folgende Zuordnung in meiner .vimrc, die ich nützlich finde:
Es ist leicht zu merken, weil
w
es "Schreiben"w!
ist, "Force Write" ist undw!!
"Super-Duper-Force Write" ist. : Pquelle
W
, aber esw!!
ist viel sinnvoller, meine .vimrc zu aktualisieren. Vielen Dank