Like the AC and jdavidb said: if you don't like vi, set your damn $EDITOR and $VISUAL environment variable already. It's why they exist. Once they're set, things like git commit, crontab -e, etc. will read them and run the desired editor instead of vi. I usually have mine set to a small script that runs emacs -nw so I can get an emacs frame in the terminal I'm working on, or sometimes something like mg, jed, or joe.
There you go, no need to complain about vi any more.
I forgot to also note that this isn't exactly obscure, arcane *nix knowledge or anything. From crontab's manpage:
The -e option is used to edit the current crontab using the editor specified by the VIS‐ UAL or EDITOR environment variables. After you exit from the editor, the modified crontab will be installed automatically. If neither of the environment variables is defined, then the default editor /usr/bin/editor is used.
So, you've been annoyed by this problem long enough to rant about it online and talk about how big an issue it is, but apparently never even tried to look for a solution.
(Score: 3, Informative) by Marand on Tuesday September 13 2016, @03:04AM
Like the AC and jdavidb said: if you don't like vi, set your damn $EDITOR and $VISUAL environment variable already. It's why they exist. Once they're set, things like git commit, crontab -e, etc. will read them and run the desired editor instead of vi. I usually have mine set to a small script that runs emacs -nw so I can get an emacs frame in the terminal I'm working on, or sometimes something like mg, jed, or joe.
There you go, no need to complain about vi any more.
(Score: 4, Insightful) by Marand on Tuesday September 13 2016, @03:10AM
I forgot to also note that this isn't exactly obscure, arcane *nix knowledge or anything. From crontab's manpage:
The -e option is used to edit the current crontab using the editor specified by the VIS‐
UAL or EDITOR environment variables. After you exit from the editor, the modified
crontab will be installed automatically. If neither of the environment variables is
defined, then the default editor /usr/bin/editor is used.
So, you've been annoyed by this problem long enough to rant about it online and talk about how big an issue it is, but apparently never even tried to look for a solution.