
Hier sind meine persönlichen Aliase zum Bearbeiten von Root-Dateien:
# CLI superuser nano; compiled; version 2.8.0
function sunano {
export SUDO_EDITOR='/usr/local/bin/nano'
sudoedit "$@"
}
# GUI superuser xed; packaged; version 1.2.2
function suxed {
export SUDO_EDITOR='/usr/bin/xed'
sudoedit "$@"
}
# GUI superuser sublime-text; packaged; version 3126
function susubl {
export SUDO_EDITOR='/opt/sublime_text/sublime_text -w'
sudoedit "$@"
}
Lassen Sie mich es vom Ende an beginnen:
Sublime Text funktioniert jetzt großartig dankStephen Kitts Rat.
Xed scheint auch gut zu funktionieren, es zeigt, dass die Privilegien erhöht sind, woran ich persönlich nicht gerne erinnert werde, aber es scheint kein Problem damit zu geben, die Farben sind da und es brauchte nicht einmal einigeWartenSchalter wie Sublime.
Das Problem, das ich mit Nano habe, ist folgendes:
Rufe ich es wie gewohnt auf, zB:
sudo nano /etc/nanorc
Die Farben sind da.
Aber wenn ich es mit dem neuen Alias aufrufe:
sunano /etc/nanorc
Es gibt überhaupt keine Farben.
Die Konfiguration scheint jedoch gelesen worden zu sein, da sie genauso aussieht, wie ich sie konfiguriert habe.
BEARBEITEN1:Anscheinend betrifft dieses Problem mindestens die Konfigurationsdatei:
-rw-r--r-- 1 root root 8.6K Apr 8 02:30 /etc/nanorc
Andere Dateien, z. B. Bash oder C++, sind farbig, das verwirrt mich.
Antwort1
Das Problem hierbei ist, dass sudoedit
die Datei in eine temporäre Datei kopiert wird, bevor sie im Editor geöffnet wird. Wenn die Datei eine Erweiterung hat, wird die temporäre Datei mit derselben Erweiterung erstellt und die dateinamenbasierten Syntaxhervorhebungsmodi werden entsprechend ausgewählt (z.Bfür C-Dateien). Wenn die Datei keine Erweiterung hat, wie im Fall von nanorc
, wird sie mit einer zufälligen Erweiterung erstellt. Dies verwirrt die Auswahl des dateinamenbasierten Syntaxhervorhebungsmodus und nano
führt letztendlich dazu, dass die Datei wie eine normale Textdatei behandelt wird.
Wenn Sie die Konfiguration so ändern können nano
, dass jede nanorc*
Datei als Konfigurationsdatei behandelt wird, können Sie das gewünschte Verhalten wiederherstellen. Ansonsten bin ich mir nicht sicher, ob es eine Möglichkeit gibt, dies automatisch zu handhaben.
Antwort2
versuchen
function sunano {
export SUDO_EDITOR='/usr/local/bin/nano'
sudoedit -E "$@"
# ^^
# add this
}
-E or --preserve-env
übergibt Ihre Umgebungsvariablen an den neuen Prozess