Software & AppsOperating SystemLinux

How To Edit Crontab with Vi Instead of Nano Once Without Changing Default Editor

Ubuntu 5

In this article, we will guide you on how to edit the crontab file using the Vi editor instead of Nano, without permanently changing the default editor. This is particularly helpful when you need to make a one-time edit using Vi, but prefer to keep Nano as your default editor for other tasks.

Quick Answer

To edit the crontab file with Vi instead of Nano once without changing the default editor, you can temporarily set the VISUAL environment variable to vi using the command export VISUAL=vi. This will allow you to edit the crontab file using Vi for that session only.

Understanding Crontab

Crontab, short for ‘cron table’, is a configuration file that specifies shell commands to run periodically on a given schedule. The crontab command is used to create, edit, install, uninstall, or list cron jobs.

Default Editor for Crontab

By default, when you use the crontab -e command to edit your crontab file, it opens the file in the Nano editor. Nano is a simple, user-friendly editor that is easy to use, especially for beginners. However, there may be instances where you need to use a more powerful editor like Vi.

Vi vs Nano

Vi, short for Visual, is a powerful text editor that is included with most Unix systems. It has a steeper learning curve than Nano but offers more features and flexibility. If you’re comfortable with Vi and need to use it for a specific task, you can do so without changing your default crontab editor.

Temporarily Changing the Default Editor

To temporarily change the default editor to Vi, we will use the export command to set the VISUAL environment variable. This variable is used by the system to determine what editor should be used for tasks such as editing the crontab file.

Here’s the command you need to run:

export VISUAL=vi

This command sets the VISUAL environment variable to vi, but only for the current session. This means that once you close your terminal or start a new session, the VISUAL variable will revert back to its previous value, and Nano will once again be your default editor.

Editing Crontab with Vi

Now that we’ve set Vi as the temporary editor, we can proceed to edit the crontab file. Run the following command:

crontab -e

This command will open your crontab file in the Vi editor. You can now make your changes using Vi’s commands. Once you’re done, save your changes and exit Vi by pressing Esc to enter command mode, then typing :wq and pressing Enter.


By using the export VISUAL=vi command, you can temporarily set Vi as your default editor for editing the crontab file, without affecting your long-term preference for Nano. This gives you the flexibility to use the most suitable editor for each task, enhancing your productivity and efficiency.

Remember, the changes made using the export command are only effective for the current session. If you want to use Vi again in a future session, you will need to run the export command again.

For more information on using the Vi editor, you can refer to this comprehensive guide. For more details on working with crontab, check out this crontab tutorial.

Can I permanently change the default editor for crontab to Vi?

Yes, you can permanently change the default editor for crontab to Vi by setting the VISUAL environment variable in your shell’s configuration file. For example, if you’re using the Bash shell, you can add the following line to your ~/.bashrc or ~/.bash_profile file:

export VISUAL=vi

This will make Vi your default editor for crontab, even after restarting your system.

How do I exit Vi without saving changes?

To exit Vi without saving changes, you can press Esc to enter command mode, then type :q! and press Enter. This will discard any changes you made and exit Vi immediately.

Can I use other text editors instead of Vi or Nano for editing crontab?

Yes, you can use other text editors instead of Vi or Nano for editing crontab. The VISUAL environment variable determines the default editor, so you can set it to the path of your preferred text editor. For example, if you want to use Emacs, you can run the following command:

export VISUAL=emacs

This will make Emacs your default editor for crontab. Just make sure the text editor you want to use is installed on your system.

How can I view the current contents of my crontab file?

You can view the current contents of your crontab file by running the crontab -l command. This command lists the cron jobs in your crontab file without opening an editor.

Can I have multiple cron jobs in my crontab file?

Yes, you can have multiple cron jobs in your crontab file. Each cron job is represented by a single line in the file and follows a specific syntax. You can add as many cron jobs as you need, each with its own schedule and command.

How do I remove all cron jobs from my crontab file?

To remove all cron jobs from your crontab file, you can use the crontab -r command. This command removes all cron jobs associated with your user account. However, be cautious, as this action cannot be undone and will permanently delete all your cron jobs.

Leave a Comment

Your email address will not be published. Required fields are marked *