FreeBSD 默认环境里,很多命令会调用 vi 作为编辑器,例如 crontab -e。如果更习惯 nano、micro、ee 或 vim,可以通过设置 EDITOR 环境变量来更改默认编辑器。
前提是你想使用的新编辑器已经安装。
临时更改
临时更改只对当前命令有效,适合偶尔使用一次。
EDITOR=nano crontab -e
也可以换成其他喜欢的编辑器:
EDITOR=micro crontab -e
EDITOR=ee crontab -e
EDITOR=vim crontab -e
这种写法不会修改系统配置,关闭当前终端后也不会保留。
永久更改
如果希望以后执行 crontab -e 时都使用指定编辑器,可以把 EDITOR 写入当前用户的 shell 启动文件。
sh 或 bash
如果使用的是 sh 或 bash,可以把下面这行加入 ~/.profile、~/.bashrc 或 ~/.bash_profile:
export EDITOR=nano
修改完成后,可以重新登录终端,也可以手动加载配置文件。
如果写入的是 ~/.profile:
. ~/.profile
如果写入的是 ~/.bashrc:
. ~/.bashrc
如果写入的是 ~/.bash_profile:
. ~/.bash_profile
tcsh 或 csh
如果使用的是 tcsh 或 csh,可以把下面这行加入 ~/.cshrc:
setenv EDITOR nano
然后执行:
source ~/.cshrc
FreeBSD 的 root 用户默认 shell 可能是 csh 或 tcsh,普通用户也可能被设置成不同 shell。如果不确定当前 shell,可以运行:
echo $SHELL
安装简易编辑器
如果想使用 nano,但系统还没有安装,可以通过 pkg 安装:
pkg install -y nano
如果当前用户不是 root,可以使用:
sudo pkg install -y nano
验证设置
设置完成后,可以查看当前 EDITOR 变量:
echo $EDITOR
然后再次执行:
crontab -e
如果打开的是你指定的编辑器,就说明配置已经生效。
总结
FreeBSD 更改默认编辑器的核心就是设置 EDITOR 环境变量。临时使用可以直接在命令前指定,长期使用则写入对应 shell 的启动文件。
