crontab 默认编辑器改成 vim,告别 Nano 的烦恼
很多 Linux 用户都有过这样的经历:当你兴冲冲地输入 crontab -e 想编辑定时任务时,系统却弹出了一个让人抓狂的 Nano 编辑器。对于习惯了 Vim 的我们来说,这简直是一种折磨。今天就来聊聊如何把 crontab 的默认编辑器改成我们心爱的 Vim。
为什么会这样?
其实 crontab 会读取 EDITOR 或 VISUAL 环境变量来决定使用哪个编辑器。如果这两个变量都没设置,系统就会用默认的编辑器,在 Ubuntu 上通常是 Nano。所以我们只需要设置一下环境变量就行啦。
临时方案:快速测试
如果你只是想临时改一下,或者先试试效果,可以在终端里执行:
export EDITOR=vim
或者:
export VISUAL=vim
设置完之后,马上运行 crontab -e,你就会发现熟悉的 Vim 界面出现了。不过这个设置只在当前终端会话有效,关掉终端就没了。
永久方案:一劳永逸
针对当前用户
如果你想每次打开终端都能用 Vim,就得把环境变量写到 shell 配置文件里。最简单的方法是:
echo 'export EDITOR=vim' >> ~/.bashrc
source ~/.bashrc
这样就把设置加到了你的 ~/.bashrc 文件里。如果你用的是 zsh,那就改成 ~/.zshrc。
当然,你也可以直接用编辑器打开配置文件,手动添加这行代码:
export EDITOR=vim
针对所有用户(需要 sudo 权限)
如果你是系统管理员,想让所有用户都默认用 Vim,可以编辑 /etc/environment 文件:
sudo sh -c 'echo "EDITOR=vim" >> /etc/environment'
Debian/Ubuntu 用户的福利
如果你用的是 Debian 或 Ubuntu 系统,还有一个更方便的命令:
sudo select-editor
运行后会出现一个交互式菜单,选择你想要的编辑器编号(比如选 vim.basic)就行。这个命令会自动帮你配置好一切,非常省心。
一次性指定
有时候你可能不想改全局设置,只想这一次用 Vim,那可以这样:
EDITOR=vim crontab -e
这样在执行 crontab -e 的过程中就会临时使用 Vim,不会影响其他操作。
验证是否生效
设置完之后,怎么确认有没有成功呢?很简单:
echo $EDITOR
如果输出是 vim,那就说明设置成功了。如果输出是空的,说明环境变量没设置上,检查一下配置文件有没有问题。
一个小坑要注意
这里有个容易踩的坑:如果你同时设置了 EDITOR 和 VISUAL 两个环境变量,crontab 会优先使用 VISUAL。所以如果你发现设置了 EDITOR 却没生效,可能是 VISUAL 把它覆盖了。建议两个变量都设置成一样的值,避免混乱。
总结一下
把 crontab 的默认编辑器改成 Vim 真的不是什么难事,本质上就是设置一个环境变量。临时用就 export 一下,永久用就写进配置文件。对于 Debian/Ubuntu 用户,select-editor 是最简单的选择。设置好后,再也不用忍受 Nano 了,编辑定时任务也变得更顺手了。
希望这篇分享对你有帮助!如果你有其他 Linux 小技巧,欢迎在评论区交流~