如何更改 Ubuntu 中的默认文本编辑器

jus*_*ime 8 linux text-editors ubuntu

如何更改 Ubuntu 中控制台程序的默认文本编辑器。当我运行 mutt 并发送消息时,它当前加载了 Joe,我更喜欢加载 Vim。我知道我只能为我更改 $EDITOR,但更愿意在系统范围内进行更改。

sle*_*ske 13

您可以在系统范围内更改 $EDITOR。只需将一个简短的脚本放入/etc/profile.d/其中即可。该文件只需要一行:

export EDITOR=/usr/bin/myeditor
Run Code Online (Sandbox Code Playgroud)

编辑:

程序可以通过两种方式(至少:-/)找到要启动的编辑器。传统的 Unix/Linux 机制是使用 $EDITOR。除此之外,Debian(以及Ubuntu)对各种程序都有特殊的别名。这些由“替代品”系统(一个可配置的符号链接系统)提供。对于编辑器,这提供了别名editorsensible-editor. 这些可以使用 update-alternatives 更新:

sudo update-alternatives --config editor
Run Code Online (Sandbox Code Playgroud)

(对于明智的编辑器也是如此)。这将提示您使用编辑器。

然而,在 Debian 程序中应该首先读取 $EDITOR:

因此,启动编辑器或寻呼机的每个程序都必须使用 EDITOR 或 PAGER 环境变量来确定用户希望使用的编辑器或寻呼机。如果未设置这些变量,则应分别使用程序 /usr/bin/editor 和 /usr/bin/pager。

这两个文件是通过 dpkg“alternatives”机制管理的。

[...]

如果很难调整程序以使用 EDITOR 或 PAGER 变量,则该程序可以配置为分别使用 /usr/bin/sensible-editor 和 /usr/bin/sensible-pager 作为编辑器或寻呼程序.

(Debian 政策手册,http://www.debian.org/doc/debian-policy/ch-customized-programs.html#s11.4

一句话:全局设置 $EDITOR 应该就足够了。

  • 实际上 `visudo` 通常不适用于 `$EDITOR`,因为它是一个安全问题(至少对于 ubuntu 而言)。使用`/usr/bin/editor`。 (2认同)