我执行了这两个命令:
export VISUAL=/usr/bin/vim
export EDITOR=/usr/bin/vim
我检查了env
是否正确更新了它们。但是当我运行sudo visudo
时,我得到了一个奇怪的编辑器。
虽然我不知道编辑器,但在控制台底部却说:
-----Mg: sudoers.tmp (fundamental)----Top------------------
(Read 29 lines)
这个编辑器没用,因为我无法移动光标。我能做的就是关闭控制台。
是什么让这个奇怪的编辑器运行?我应该执行什么命令来更改编辑器?
答案 0 :(得分:2)
来自:man visudo
(第二段):
visudo将使用一个或多个编辑器的硬编码列表 在编译时设置,可以通过编辑器覆盖默认值 变量。此列表默认为/ usr / local / bin / vi。通常,visudo 不尊重VISUAL或EDITOR环境变量,除非它们 包含上述编辑列表中的编辑器。但是,如果是visudo 配置了--with-env-editor选项或env_editor Default 变量是在sudoers中设置的,visudo将使用任何编辑器定义的 视觉或编辑。请注意,这可能是一个安全漏洞,因为它允许 用户只需设置VISUAL或即可执行他们想要的任何程序 编辑器。
因此,要配置其他编辑器,您需要更改/etc/sudoers
配置并添加例如Defaults editor /usr/bin/vim
行。
奇怪的是,Vim应该是默认编辑器?!根据您的输出,可能来自Vim(有损坏的终端)或其他编辑器(您可以检查进程树)。
答案 1 :(得分:1)
它是一个名为mg
的类似emacs的编辑器,您可以/应该阅读其手册页$ man mg
,以了解其工作原理。
至于它如何以及为何成为你的默认编辑器...你应该看看你的init文件。