I would like to edit crontab with vi once. My default editor is nano, and I want to keep it that way. I only want to edit with vi one time. I don't want to change the default to vi then back to nano after editing. Can this be done?


2 Answers 2


crontab should respect the EDITOR environment variable, so you can just do (for the root crontab for example)

sudo EDITOR=vi crontab -e

From man crontab

The -e option is used to edit the  current  crontab  using  the  editor
specified  by  the  VISUAL  or EDITOR environment variables.  
  • 1
    I don't think you want sudo here unless you want to edit really fundamental tasks. Most people run cron jobs at user-level. Also, on Mac OS X if you use sudo it gives an error. Without it it works fine. Dec 5, 2017 at 23:58

Specifying nano as the editor for crontab file

export VISUAL=nano

Specifying vim as the editor for crontab file

export VISUAL=vim
  • now, just try it: crontab -e
  • Perfect answer. This should be the accepted answer. Sep 17, 2022 at 16:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.