繁体   English   中英

我怎样才能为visudo指定编辑器?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM