Wie kann ich den Standardeditor des Befehls sudoedit in vim ändern?

23

Ich versuche es zu benutzen sudoedit, aber der nanoEditor läuft weiter . Mein bevorzugter Editor ist vim. Wie kann ich es zum Standard machen?

Auf der Manpage man sudoedithabe ich Folgendes festgestellt:

 EDITOR           Default editor to use in -e (sudoedit) mode if neither SUDO_EDITOR nor VISUAL is set.
 SUDO_EDITOR      Default editor to use in -e (sudoedit) mode.
 VISUAL           Default editor to use in -e (sudoedit) mode if SUDO_EDITOR is not set.

Also habe ich sie alle auf gesetzt /usr/bin/vim, aber sudoedit /etc/hostsimmer noch verwendet nano. Vermisse ich etwas?

$ EDITOR=/usr/bin/vim
$ VISUAL=/usr/bin/vim
$ SUDO_EDITOR=/usr/bin/vim

$ echo $VISUAL
/usr/bin/vim

$ echo $EDITOR 
/usr/bin/vim

$ echo $SUDO_EDITOR 
/usr/bin/vim

$ sudoedit /etc/hosts # This is still using nano
Dan
quelle
Was ist sudo vim?
Cornelius
@Cornelius Das funktioniert, das ist mein Workaround für das Problem im Moment.
Dan
1
Versuchen Sie stattdessen sudo visudo
animaletdesequia
@darent visudo: /etc/sudoers: Permission denied. Was ist das?
Cornelius
2
@darent visudoist ein anderes Programm. Es ist nur da, um es dir zu erlauben edit the sudoers file. man visudo
Dan

Antworten:

27

Laufen Sie sudo update-alternatives --config editorund wählen Sie für vim. Danach, sudoedit /etc/hostssollte sich öffnen /etc/hostsmit vim.

Alternativ können Sie verwenden sudo vim /etc/hosts.

Louis Matthijssen
quelle
12

Versuchen Sie, die Variable zu exportieren, dh:

$ SUDO_EDITOR=/usr/bin/vim
$ export SUDO_EDITOR

Eine neue Shell wird gestartet, wenn Sie den Befehl ausführen. Wenn diese Variable nicht exportiert wird, ist sie in der neuen Shell nicht vorhanden.

James Littlefield
quelle
Da sich die Frage eher auf das Exportieren als auf das Festlegen einer Umgebungsvariablen bezieht und alternative Vorgehensweisen sudo vim /etc/hostshier nicht relevant sind, sollte dies die akzeptierte Antwort sein.
BcK