[英]How can I designate the editor for visudo?
我执行了这两个命令:
export VISUAL=/usr/bin/vim
export EDITOR=/usr/bin/vim
我检查了env
是否正确更新了它们。 但是当我运行sudo visudo
时,我得到了一个奇怪的编辑器。
虽然我不知道编辑器,但在控制台的底部却说:
-----Mg: sudoers.tmp (fundamental)----Top------------------
(Read 29 lines)
这个编辑器没用,因为我无法移动光标。 我能做的就是关闭控制台。
是什么让这个奇怪的编辑器运行? 我应该执行什么命令来更改编辑器?
来自:man visudo
(第二段):
有一个硬编码的一个或多个编辑器的列表,visudo将在编译时使用set,可以通过编辑器sudoers Default变量覆盖。 此列表默认为/ usr / local / bin / vi。 通常,visudo不尊重VISUAL或EDITOR环境变量,除非它们包含上述编辑器列表中的编辑器。 但是,如果使用--with-env-editor选项配置visudo或在sudoers中设置env_editor Default变量,则visudo将使用VISUAL或EDITOR定义的任何编辑器。 请注意,这可能是一个安全漏洞,因为它允许用户通过设置VISUAL或EDITOR来执行他们想要的任何程序。
因此,要配置另一个编辑器,您需要更改/etc/sudoers
配置并添加例如Defaults editor /usr/bin/vim
行。
奇怪的是,Vim应该是默认的编辑器吗?! 根据您的输出,可能来自Vim(带有损坏的终端)或其他编辑器(您可以检查进程树)。
这是一个类似emacs的编辑器,名为mg
,你可以/应该阅读它的man page, $ man mg
,以了解它是如何工作的。
至于它如何以及为什么成为你的默认编辑器...你应该看看你的init文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.