I have vim as default editor on my Mac and every time I run commands on Mac terminal, it automatically opens "vim".

How can I set up "nano" instead and make sure the terminal will open "nano" every time is needed?

3 Answers 3


Set the EDITOR and VISUAL environment variables to nano.

If you use bash, this is easiest done by editing your ~/.bashrc file and adding the two following lines:

export EDITOR=nano

to the bottom of the file. If the file does not exist, you may create it. Note that macOS users should probably modify the ~/.bash_profile file instead, as the abovementioned file is not used by default when starting a bash shell on this system.

If you use some other shell, modify that shell's startup files instead (e.g. ~/.zshrc for zsh).

You should set both variables as some tools use one, and others may use the other.

You will need to restart your terminal to have the changes take effect.

  • 1
    This is a great solution! How can we get the name of other editors for this purpose? Feb 19, 2020 at 15:48
  • @BenRacicot The editors installed by default on macOS are nano, vi/vim, and ed (a very basic line-editor). If you install other editors for used in the shell, e.g. through Homebrew, then you would know what they are (since you installed them).
    – Kusalananda
    Feb 19, 2020 at 15:52
  • 1
    @BenRacicot Any command that uses e.g. $EDITOR will use it as a command. You would set it to the command that you use to launch Sublime from the command line. If the command contains spaces, then it has to be quoted.
    – Kusalananda
    Feb 19, 2020 at 16:04
  • 1
    @BenRacicot this answer may help if you're trying to use a GUI application like Sublime Text stackoverflow.com/a/3539630/370407
    – Mike Eng
    Oct 7, 2020 at 14:16
  • 1
    @Mint It will depend on whatever shell the user is using, not what shell is the default on the system. Note that it is possible to install various shells on macOS, including moderns bash releases. I will however update my answer to say that it depends on the shell.
    – Kusalananda
    Oct 6, 2021 at 5:42

I had this same challenge when setting up my new MacBook Pro.

To elaborate more on Kusalananda's answer

To switch to your editor of choice (say nano) you will need to add the following lines to your ~/.zshrc file if your default shell is zsh or ~/.bash_profile if your default shell is bash:

export EDITOR=nano

However, a simpler approach to do this will be to use the echo command to insert them into your ~/.zshrc file if your default shell is zsh:

echo 'export EDITOR=nano' >> ~/.zshrc
echo 'export VISUAL="$EDITOR"' >> ~/.zshrc

OR ~/.bashrc if your default shell is bash:

echo 'export EDITOR=nano' >> ~/.bash_profile
echo 'export VISUAL="$EDITOR"' >> ~/.bash_profile

Run the command below to activate the new configuration:

source ~/.zshrc


source ~/.bash_profile

If you need to switch to other editors of choice you can replace nano with your preferred editor:

  • Vim - vim
  • Vi - vi

That's all.

I hope this helps


The answer suggested by @Kusalananda doesnt work with a default install of Catalina.

Apple has changed the shell from bash to zsh as default in Catalina.

You need to rename your .bash_profile as .zprofile.

Then it works.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .