Wie kann ich den Standard-Texteditor für Konsolenprogramme in Ubuntu ändern?
Wenn ich mutt starte und eine Nachricht sende, lädt es derzeit Joe und ich würde es vorziehen, Vim zu laden.
Ich weiß, dass ich $ EDITOR nur für mich ändern kann, aber ich würde es vorziehen, es systemweit zu tun.
Sie können $ EDITOR systemweit ändern. Schreiben Sie einfach ein kurzes Skript in /etc/profile.d/ was macht das. Die Datei benötigt nur eine einzige Zeile:
export EDITOR=/usr/bin/myeditor
Bearbeiten:
Es gibt zwei Möglichkeiten (mindestens: - /), wie ein Programm einen Editor zum Starten finden kann. Der traditionelle Unix / Linux-Mechanismus ist die Verwendung von $ EDITOR. Darüber hinaus hat Debian (und damit Ubuntu) spezielle Aliase für verschiedene Arten von Programmen. Diese werden vom "Alternatives" -System (ein System konfigurierbarer Symlinks) bereitgestellt. Für Redakteure bietet dies die Aliase editor und sensible-editor. Diese können mit Update-Alternativen aktualisiert werden:
sudo update-alternatives --config editor
(Gleiches gilt für sensible-editor). Dadurch werden Sie aufgefordert, den Editor zu verwenden.
In Debian-Programmen sollte jedoch zuerst $ EDITOR gelesen werden:
Somit startet jedes Programm ein
Editor oder Pager müssen den EDITOR oder verwenden
PAGER-Umgebungsvariable zu
Bestimmen Sie den Editor oder Pager des Benutzers
verwenden möchte. Wenn diese Variablen sind
nicht gesetzt ist das programme / usr / bin / editor
und / usr / bin / pager sollte verwendet werden,
beziehungsweise.
Diese beiden Dateien werden über den Mechanismus dpkg "alternatives" verwaltet.
[...]
Wenn es sehr schwer ist, ein Programm anzupassen
um den EDITOR oder PAGER zu benutzen
Variablen, das Programm kann sein
konfiguriert zu verwenden
/ usr / bin / sensible-editor und
/ usr / bin / sensible-pager als Editor
bzw. Pager-Programm.
Danke - ich hatte von dem "Alternativen" -Mechanismus gehört, konnte mich aber nicht genug erinnern, um ihn zu finden. Es ist allerdings sehr kompliziert.
justintime
1
Tatsächlich visudo funktioniert normalerweise nicht mit $EDITOR da es sich um ein sicherheitsbedenken handelt (zumindest für ubuntu). Das /usr/bin/editor wird eingesetzt.
Adam Gent
1
Der Mechanismus in Ubuntu (Debian), der zur Lösung dieses Problems verwendet wird, ist in beschrieben man update-alternatives. im Wesentlichen bietet es eine "Pseudo-Binär" ( /usr/bin/editor ) welches auf die richtige Binärdatei zeigt (die "beste" Alternative)
Das ist richtig, aber Editor / Sensible-Editor ist nur als Fallback-Mechanismus gedacht. Sie können einfach $ EDITOR einstellen. Außerdem ist editor / sensible-editor eine Debian-Konvention. Software von Drittanbietern verwendet sie möglicherweise nicht, während $ EDITOR eine allgemeine Unix-Tradition hat.
sleske
richtig (mir ist das bewusst). Es ist nur ein bisschen schwierig, EDITOR für alle Arten von Shells (tcsh, zsh) zu erzwingen. Es reicht also aus, / usr / bin / editor auf den gewünschten Standard zu setzen. als "user" setze ich sowieso meinen eigenen EDITOR.
visudo
funktioniert normalerweise nicht mit$EDITOR
da es sich um ein sicherheitsbedenken handelt (zumindest für ubuntu). Das/usr/bin/editor
wird eingesetzt.Der Mechanismus in Ubuntu (Debian), der zur Lösung dieses Problems verwendet wird, ist in beschrieben
man update-alternatives
. im Wesentlichen bietet es eine "Pseudo-Binär" (/usr/bin/editor
) welches auf die richtige Binärdatei zeigt (die "beste" Alternative)Anruf
um den aktuellen "default" zu ändern. mit
Sie können die aktuell verfügbaren Alternativen sehen.
quelle