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