Es ist wirklich frustrierend, wenn ich eine Datei als root bearbeiten und verwenden muss sudo vim somefile.conf
und keine meiner Tastenkombinationen, Einstellungen und Plugins verwenden kann.
Gibt es eine Möglichkeit, alle meine Anpassungen abzurufen, wenn ich sie als root bearbeiten muss?
Ich benutze Vim-Plug für meine Plugins.
vimrc
plugin-system
Robbie Wxyz
quelle
quelle
sudo vim file
Wird besser geschrieben alssudo -e file
(vorausgesetzt, Sie setzen die UmgebungsvariableEDITOR=vim
).Antworten:
Anstatt vim als root zu öffnen, können Sie einfach als root speichern, indem Sie auf tee umleiten. Hier ist ein Beispiel:
Dies kann für den Alias in Ihrer .vimrc nützlich sein. Ich verwende
:Sw
:quelle
I did a bunch of editing and then realized I should have used sudoedit
, aber für den allgemeinen Fall würde ich vorschlagen, mitsudo -e
/sudoedit
.Zwei Dinge:
Verwenden Sie
$ sudo -e file
zum Bearbeitenfile
mit$EDITOR
. Hinzufügen,export EDITOR=/path/to/vim
wenn$EDITOR
noch nicht festgelegt.Vanille ist ein ausgezeichneter Weg, um Ihre Plugin-Abhängigkeit zu bekämpfen.
quelle
sudo vim
wird. Die Bearbeitung erfolgt als normaler Benutzer und sudo übernimmt dann die Aktualisierung der Originaldatei.sudo
:-E
und-e
.-E
bedeutet "Bewahrerumgebung", und dies ist nicht die, die Sie wollen.-e
bedeutet wiederum "keinen Befehl ausführen, sondern eine Datei mit einer definierten Prozedur bearbeiten".Es sieht so aus, als müsstest du nur root's
~/.vimrc
und~/.vim/
your's verknüpfen .Einfach als root ausführen:
Und das sollte es tun!
(PS: Ich habe das gerade herausgefunden und wollte es mit anderen Noobs teilen. Bitte lass es mich wissen, wenn es einen besseren Weg gibt.)
quelle
Wenn Sie im Voraus wissen, dass Sie eine Datei als root bearbeiten müssen, verwenden Sie die Befehle
sudoedit <file>
odersudo -e <file>
richten Sie sie in einer speziellen Umgebung mit Ihren üblichen Editoreinstellungen ein. Eine Kopie der Datei wird erstellt und Ihr Editor wird gestartet, um sie zu bearbeiten (als Ihr Benutzer). Wenn Sie das Programm beenden, wird die Datei als root an ihren ursprünglichen Speicherort zurückkopiert.Dies ist der sicherste und empfohlene Weg, aber für den Fall, dass Sie a) nicht im Voraus erkennen, dass Sie als root schreiben müssen oder b) inkrementelle Änderungen bearbeiten und speichern möchten, benötigen Sie etwas anderes. Zu diesem Zweck ist die
sudo tee
von smpl vorgeschlagene Lösung auf jeden Fall auf dem richtigen Weg, aber es gibt einige geringfügige Verbesserungen, die bei der Behandlung von Randfällen vorgenommen werden können. Insbesondere der Unterschied in der Behandlung der sudo-Passwortabfrage in einer GUI im Vergleich zu Konsolenoberflächen ist einige Aufmerksamkeit wert.Eine einfachere Möglichkeit, dies einzurichten, ist die Verwendung des vim-eunuch- Plugins. Es hat dieses spezielle Problem und ein paar andere nützliche Dinge in einem praktischen Paket zusammengefasst. Die Bedienung ist so einfach wie das Aufrufen
:SudoWrite
. Ich verwende sogar eine etwas einfachere Zugriffszuordnung:Das sollte Ihnen die Möglichkeit geben, eine beliebige Datei als root mit zu schreiben
:w!!
.quelle
Eine andere Option ist das Ausführen
sudo -E vim somefile.conf
zum Bearbeiten, wodurch Ihre Umgebung.vimrc
geschont wird. Daher werden Ihre und Plugins verwendet.quelle