FreeBSD 更改默认编辑器 vi

通过 EDITOR 环境变量修改 FreeBSD 下 crontab -e 等命令调用的默认编辑器。

FreeBSD 默认环境里,很多命令会调用 vi 作为编辑器,例如 crontab -e。如果更习惯 nanomicroeevim,可以通过设置 EDITOR 环境变量来更改默认编辑器。

前提是你想使用的新编辑器已经安装。

临时更改

临时更改只对当前命令有效,适合偶尔使用一次。

EDITOR=nano crontab -e

也可以换成其他喜欢的编辑器:

EDITOR=micro crontab -e
EDITOR=ee crontab -e
EDITOR=vim crontab -e

这种写法不会修改系统配置,关闭当前终端后也不会保留。

永久更改

如果希望以后执行 crontab -e 时都使用指定编辑器,可以把 EDITOR 写入当前用户的 shell 启动文件。

sh 或 bash

如果使用的是 shbash,可以把下面这行加入 ~/.profile~/.bashrc~/.bash_profile

export EDITOR=nano

修改完成后,可以重新登录终端,也可以手动加载配置文件。

如果写入的是 ~/.profile

. ~/.profile

如果写入的是 ~/.bashrc

. ~/.bashrc

如果写入的是 ~/.bash_profile

. ~/.bash_profile

tcsh 或 csh

如果使用的是 tcshcsh,可以把下面这行加入 ~/.cshrc

setenv EDITOR nano

然后执行:

source ~/.cshrc

FreeBSD 的 root 用户默认 shell 可能是 cshtcsh,普通用户也可能被设置成不同 shell。如果不确定当前 shell,可以运行:

echo $SHELL

安装简易编辑器

如果想使用 nano,但系统还没有安装,可以通过 pkg 安装:

pkg install -y nano

如果当前用户不是 root,可以使用:

sudo pkg install -y nano

验证设置

设置完成后,可以查看当前 EDITOR 变量:

echo $EDITOR

然后再次执行:

crontab -e

如果打开的是你指定的编辑器,就说明配置已经生效。

总结

FreeBSD 更改默认编辑器的核心就是设置 EDITOR 环境变量。临时使用可以直接在命令前指定,长期使用则写入对应 shell 的启动文件。