antonjs
antonjs

Reputation: 14318

How to specify a editor to open crontab file? "export EDITOR=vi" does not work

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.

Upvotes: 109

Views: 146348

Answers (8)

Walk
Walk

Reputation: 1649

This worked for me :

EDITOR="/usr/bin/vim"
export EDITOR

Add this to ~/.bash_profile or ~/.bashrc to enable this for current user.

Upvotes: 3

Parveen Shukhala
Parveen Shukhala

Reputation: 243

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.

Upvotes: 7

Chema
Chema

Reputation: 39

export EDITOR=vim worked for me

Upvotes: 4

L. D. James
L. D. James

Reputation: 1719

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

Upvotes: 46

felwithe
felwithe

Reputation: 2744

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.

Upvotes: 2

bmk
bmk

Reputation: 14147

Very probable that your VISUAL environment variable is set to something else. Try:

export VISUAL=vi

Upvotes: 187

9000
9000

Reputation: 40894

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 :)

Upvotes: 81

Alex Howansky
Alex Howansky

Reputation: 53656

I think you might need to use the full path:

export EDITOR=/usr/bin/vim

Upvotes: 6

Related Questions