crontab
deve respeitar a variável de ambiente EDITOR
, então você pode fazer (para o crontab raiz, por exemplo)
sudo EDITOR=vi crontab -e
De man crontab
The -e option is used to edit the current crontab using the editor
specified by the VISUAL or EDITOR environment variables.