问题
I'm using Red Hat Enterprise Linux 5, and I want to set the vim editor to edit the crontab file.
If I run echo $EDITOR, I get vim. But when I run crontab -e, I get different editor.
回答1:
Very probable that your VISUAL environment variable is set to something else. Try:
export VISUAL=vi
回答2:
To quote the man:
The -e option is used to edit the current crontab using the editor specified by the VISUAL or EDITOR environment variables
Most often if you run crontab -e from X, you have VISUAL set; that's what is used. Try this:
VISUAL=vi crontab -e
It just worked for me :)
回答3:
If the above methods don't work (as they didn't work on my Ubuntu 13.04 installation) try:
There are a number of alternative ways:
1) Run select-editor
select-editor
2) Manually edit the file: ~/.selected_editor specifying your preferred editor. With this option you can specify editor parameters.
# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/emacs -nw"
3) You can specify on the fly on the commandline with:
env VISUAL="emacs -nw" crontab -e
回答4:
I think you might need to use the full path:
export EDITOR=/usr/bin/vim
回答5:
You can use below command to open it in VIM editor.
export VISUAL=vim; crontab -e
Note: Please make sure VIM editor is installed on your server.
回答6:
export EDITOR=vim worked for me
回答7:
It wasn't working for me. I run crontab with sudo, so I switched to root, did the above suggestions, and crontab would open in vim, but it still wouldn't from my user account. Finally I ran sudo select-editor from the user account and that did the trick.
回答8:
This worked for me :
EDITOR="/usr/bin/vim"
export EDITOR
Add this to ~/.bash_profile or ~/.bashrc to enable this for current user.
来源:https://stackoverflow.com/questions/5952467/how-to-specify-a-editor-to-open-crontab-file-export-editor-vi-does-not-work