如何将sudoedit命令的默认编辑器更改为vim?


23

我正在尝试使用sudoedit,但它一直在运行nano编辑器。我首选的编辑器是vim。如何将其设置为默认值?

在手册页上,man sudoedit我注意到以下内容:

 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.

因此,我将它们全部设置为/usr/bin/vim,但sudoedit /etc/hosts仍使用nano。我想念什么吗?

$ 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

sudo vim
Cornelius

@Cornelius可行,这是我目前解决该问题的方法。
2014年

1
尝试使用sudo visudo代替
animaletdesequia

@darent visudo: /etc/sudoers: Permission denied。那是什么?
Cornelius

2
@darent visudo是一个不同的程序。它只是在那里,让您可以edit the sudoers fileman visudo
2014年

Answers:


27

运行sudo update-alternatives --config editor并选择vim。之后,sudoedit /etc/hosts/etc/hosts使用打开vim

或者,您可以使用sudo vim /etc/hosts


12

尝试导出变量,即:

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

当您运行命令时,将启动一个新的外壳程序,如果不导出此变量,它将在新的外壳程序中不存在。


由于该问题与导出而sudo vim /etc/hosts不是设置环境变量更相关,并且此处的替代方法与此无关,因此这应该是公认的答案。
BcK
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.