更改 Linux 上默认文本编辑器的 4 种方法
不喜欢 Linux 发行版上的默认文本编辑器并想将其更改为其他编辑器?只需几个简短的命令即可轻松完成。无论您使用的是哪个 Linux 版本,我都会引导您完成多种操作。
在本指南中,我使用 Ubuntu 24.04 LTS。如果您使用不同的发行版,您仍然可以遵循,因为大多数命令(如果不是所有命令)都是相同的。
检查当前默认文本编辑器
在更改默认文本编辑器之前,最好了解 Linux 发行版上当前的默认文本编辑器集。为此,您可以通过运行以下命令来检查 $EDITOR 变量:
echo $EDITOR
但是,如果未设置 $EDITOR 变量,您可能不会得到任何输出作为回报。如果是这种情况,您还可以使用以下命令检查默认编辑器:
sudo visudo
该文件已在 nano 编辑器中打开。所以,这是我的默认编辑器。
更改默认文本编辑器
现在您已经了解了当前的默认编辑器,让我们探讨一下如何更改它。
使用选择编辑器
select-editor 命令允许您选择每个用户的编辑器。它会选择您首选的智能编辑器。运行命令:
select-editor
您会看到数字旁边列出了多个编辑器。输入所需的默认编辑器的编号,然后按 Enter 键。
为了进行演示,我输入 2 将默认编辑器更改为 Vim。要检查是否成功,请运行:
cat ~/.selected_editor
它应该显示您刚刚选择的编辑器。
使用 update-alternatives 命令
update-alternatives 命令允许您维护确定默认命令的符号链接。您可以使用它来更改默认行为,例如为系统调用打开哪个编辑器。与选择编辑器工具不同,这是一个系统范围的选择器。要使用此命令更改编辑器,请运行:
sudo update-alternatives --config editor
然后选择您首选编辑器的号码并按 Enter。
现在,要检查更改是否成功,请运行以下命令:
ls -l /usr/bin/editor /etc/alternatives/editor
就我而言,编辑器已成功从 nano 更改为 Vim。
编辑编辑器环境变量
如果上述方法不适合您,或者您的发行版不支持它们,请考虑配置必要的环境变量,我将在本方法和下一个方法中介绍这些变量。
首先,在文本编辑器中打开 shell 配置文件。由于我在 Ubuntu 上使用 Bash,因此我将使用 .bashrc 文件。在其他情况下,这可能是 bash_profile 文件或其他文件,具体取决于您的 shell。要在 nano 中打开文件,请运行:
nano ~/.bashrc
然后将此行添加到文件末尾:
export EDITOR=/path/to/your/preferred/editor
例如,对于 Vim,该行将如下所示:
export EDITOR=/usr/bin/vim
如果您不确定编辑器位于哪里,可以这样写:
export EDITOR=$(which vim)
该方法在Linux上使用which命令来定位Vim。编写完该行后,使用 Ctrl+O 保存文件,然后使用 Ctrl+X 按钮退出 nano。
您可以在终端中运行以下一行代码来完成整个操作:
echo "export EDITOR='/usr/bin/vim'" >> ~/.bashrc
执行此操作后,您需要通过获取文件来使更改生效。为此,请运行:
source ~/.bashrc
现在通过运行测试变量是否设置正确:
echo $EDITOR
它应该显示您刚刚设置的文本编辑器并将其用作默认值。
编辑 VISUAL 环境变量
VISUAL 变量的编辑器具有高级终端功能,并支持全屏编辑器,如 nano、emacs、vim 等。 EDITOR 变量的编辑器没有这样的权限,这使得它们有点不同。您可以像设置 EDITOR 变量一样在 shell 配置文件中设置 VISUAL 变量。
echo "export VISUAL='/path/to/your/preferred/editor'" >> ~/.bashrc
然后运行:
source ~/.bashrc
查看您是否已成功设置 VISUAL 变量。
echo $VISUAL
正如预期的那样,成功了。
测试更改
最后要做的一件事是看看您是否可以成功地将默认文本编辑器更改为您喜欢的编辑器。您可以通过几种不同的方式来检查这一点。例如,您可以检查 crontab 的编辑器。为此,请运行:
crontab -e
如您所见,我的默认文本编辑器现在是 Vim,而不是 nano。
要知道的一件重要的事情是这些配置之间存在优先顺序。因此,假设您使用不同的方法来定义不同的默认编辑器。哪个将是默认编辑器?为了确定这一点,顺序如下:
- 配置环境变量将具有最高优先级,并覆盖当前用户的所有其他设置。
- 使用 select-editor 命令来了解默认编辑器的软件将使用 ~/.selected_editor 文件的选择作为优先级,同样适用于当前用户。
- 使用 update-alternatives 命令的系统范围配置具有最低优先级,并且会被上面列出的用户特定设置覆盖。
Linux 上的文本编辑是最常见的事情之一,在您最喜欢的编辑器中进行编辑是一个额外的好处。如果您不喜欢操作系统上的文本编辑器,您还应该考虑尝试其他编辑器。