Como posso alterar o editor padrão do comando sudoedit para vim?

23

Estou tentando usar sudoedit, mas continua executando o nanoeditor. Meu editor preferido é vim. Como posso torná-lo o padrão?

Observando a página do manual, man sudoeditobservei o seguinte:

 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.

Então, eu configurei todos eles para /usr/bin/vim, mas sudoedit /etc/hostsainda usa nano. Estou esquecendo de algo?

$ 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
fonte
Que tal sudo vim?
Cornelius
@Cornelius Isso funciona, essa é a minha solução alternativa para o problema no momento.
24414 Dan
1
tente sudo visudo em vez disso
animaletdesequia
@darent visudo: /etc/sudoers: Permission denied. O que é isso?
Cornelius
2
@darent visudoé um programa diferente. Está lá apenas para permitir edit the sudoers file. man visudo
24414 Dan

Respostas:

27

Execute sudo update-alternatives --config editore escolha para o vim. Depois disso, sudoedit /etc/hostsdeve abrir /etc/hostsusando vim.

Alternativamente, você pode usar sudo vim /etc/hosts.

Louis Matthijssen
fonte
12

Tente exportar a variável, ou seja:

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

Um novo shell é iniciado quando você executa o comando e, se essa variável não for exportada, ela não existirá no novo shell.

James Littlefield
fonte
Como a pergunta está mais relacionada à exportação versus configuração de uma variável de ambiente e a maneira alternativa de fazer isso sudo vim /etc/hostsnão é relevante aqui, essa deve ser a resposta aceita.
BcK