2015-02-20 12 views
23

Das passiert mir die ganze Zeit. Ich logge mich als normaler Benutzer ein und beginne, eine Datei mit vim zu bearbeiten. Nach der Bearbeitung, wenn ich versuche, die Datei zu speichern, habe ich nicht genug Berechtigungen, um die Datei zu speichern. Ich muss die Datei schließen, als root anmelden und die Bearbeitung erneut starten. Im Folgenden finden Sie die angegebenen Fehler in vim:Wie kann ich eine Datei, die ich in vim geöffnet habe, als falschen Benutzer speichern?

E45: 'readonly' option is set (add ! to override) 

Oder im Klar vi:

File is read only 

Gibt es eine Möglichkeit, ohne den Editor zu retten?

+0

Ich vermeide das Problem mit einem autocmd, dass, wenn ‚Read-only‘ überprüft nach dem Laden der Datei festgelegt wird, und dann Einstellung ‚nomodifiable‘, wenn die Datei nur lesbar ist mir aus Versehen die Datei bearbeiten zu verhindern. – Ben

+1

': wq!' Arbeitete für mich – Anup

Antwort

68

Versuchen Sie, die folgenden Befehl

:w !sudo tee % 

Erklärung

  • : w - schreiben
  • sudo - Shell Befehl sudo
  • tee nennen - die Ausgabe des Schreib! (: W) Befehl wird mit Tee
  • % - aktueller Dateiname
  • umgeleitet

More info

+0

Related post: [Wie funktioniert der vim "mit sudo" Trick arbeiten?] (Http://stackoverflow.com/q/2600783/438329). Wenn du Tim Popes [eunuch.vim] (https://github.com/tpope/vim-eunuch) hast, kannst du ': SudoWrite' machen –