Jak mogę zmienić domyślny edytor polecenia sudoedit na vim?

23

Próbuję użyć sudoedit, ale nadal działa nanoedytor. Moim preferowanym redaktorem jest vim. Jak mogę ustawić to jako domyślne?

Patrząc na stronę man sudoeditpodręcznika zauważyłem, co następuje:

 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.

Więc ustawiłem je wszystkie /usr/bin/vim, ale sudoedit /etc/hostsnadal używa nano. Czy coś brakuje?

$ 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
źródło
Co sudo vim?
Cornelius
@Cornelius To działa, to moje obejście problemu w tej chwili.
Dan
1
zamiast tego spróbuj sudo visudo
animaletdesequia
@ rodzic visudo: /etc/sudoers: Permission denied. Co to jest?
Cornelius
2
@darent visudoto inny program. To tylko po to, aby ci na to pozwolić edit the sudoers file. man visudo
Dan

Odpowiedzi:

27

Uruchom sudo update-alternatives --config editori wybierz dla vima. Następnie sudoedit /etc/hostsnależy otworzyć /etc/hostsza pomocą vim.

Alternatywnie możesz użyć sudo vim /etc/hosts.

Louis Matthijssen
źródło
12

Spróbuj wyeksportować zmienną, tj .:

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

Nowa powłoka jest uruchamiana po uruchomieniu polecenia i jeśli ta zmienna nie zostanie wyeksportowana, nie będzie istnieć w nowej powłoce.

James Littlefield
źródło
Ponieważ pytanie to jest bardziej związane z eksportowaniem niż ustawieniem zmiennej środowiskowej, a alternatywny sposób działania sudo vim /etc/hostsnie ma tutaj znaczenia, powinna to być zaakceptowana odpowiedź.
BcK