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

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

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

答案1

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

export EDITOR=/usr/bin/myeditor

编辑:

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

sudo update-alternatives --config editor

(与 sensible-editor 相同)。这将提示您使用哪个编辑器。

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

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

这两个文件通过 dpkg“替代方案”机制进行管理。

[...]

如果很难让程序使用 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 就足够了。

答案2

ubuntu (debian) 中用于解决此问题的机制在 中有描述man update-alternatives。本质上,它提供了一个“伪二进制文件”(/usr/bin/editor),指向正确的二进制文件(“最佳”替代方案)

称呼

% sudo update-alternatives --config editor

更改当前的“默认”。使用

% update-alternatives --list editor
% update-alternatives --display editor

您可以看到当前可用的替代方案。

相关内容