问题描述
如何在Ubuntu中更改控制台程序的默认文本编辑器。当我运行mutt并发送一条消息时,它当前会加载Joe,而我会倾向于加载Vim。我知道我只能为我更改$ EDITOR,但可以在系统范围内进行更改。
最佳办法
您可以在系统范围内更改$ EDITOR。只需将一个简短的脚本放入/etc/profile.d/中即可。该文件只需要一行:
export EDITOR=/usr/bin/myeditor
编辑:
程序可以通过两种方式(至少:-/)找到要启动的编辑器。传统的Unix /Linux机制是使用$ EDITOR。除此之外,Debian(以及Ubuntu)还为各种程序提供了特殊的别名。这些由”alternatives”系统(可配置符号链接系统)提供。对于编辑者,这提供了别名editor和sensible-editor。这些可以使用update-alternatives更新:
sudo update-alternatives --config editor
(与sensible-editor相同)。这将提示您使用编辑器。
但是,在Debian中,程序应该首先读取$ EDITOR:
Thus, every program that launches an editor or pager must use the EDITOR or PAGER environment variable to determine the editor or pager the user wishes to use. If these variables are not set, the programs /usr/bin/editor and /usr/bin/pager should be used, respectively.
These two files are managed through the dpkg “alternatives” mechanism.
[…]
If it is very hard to adapt a program to make use of the EDITOR or PAGER variables, that program may be configured to use /usr/bin/sensible-editor and /usr/bin/sensible-pager as the editor or pager program respectively.
一句话:全局设置$ EDITOR应该足够了。
参考资料