Unable to change the default editor in the terminal

My default editor is Pico at my server. I use Bash and Linux.

I tried to change Vim to be my default editor unsuccessfully by:

echo vim > $EDITOR

How can I change Vim to be my default editor?

The following code does not work in file .bashrc:

export EDITOR='vim'

Upvotes: 42

Views: 51995

Answers (9)

Promise Preston
Promise Preston

Reputation: 28920

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

Here's how I solved it

To switch to your editor of choice (say nano) on a MacBook 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
export VISUAL="$EDITOR"

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

Or

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.

Upvotes: 0

4levels
4levels

Reputation: 3234

You can use the Git configuration option core.editor to set the editor of your liking, e.g., nano:

git config [--global] core.editor "nano"

You can also change this by editing the .gitconfig file in your home directory (global) or git repository (create it if it doesn't exist) if you don't have shell access:

...
[user]
  name = Your Name
  email = [email protected]
[core]
  editor = nano
...

Upvotes: 21

bentford
bentford

Reputation: 33406

Since none of these answers are helping me:

Here is what the Git documentation are saying, git-commit(1) Manual Page:

The editor used to edit the commit log message will be chosen from the GIT_EDITOR environment variable, the core.editor configuration variable, the VISUAL environment variable, or the EDITOR environment variable (in that order).

Here is the Bash man page excerpt on export (brackets are optional):

export [-fn] [name[=word]]

Upvotes: 0

Philluminati
Philluminati

Reputation: 2789

I don't have an EDITOR environmental variable. My .bashrc file does define this:

alias vi='vim'

And supposedly, if Vim can't find a file called .vimrc in your home directory, it runs in "compatibility mode" and you only get vi features until you say type :nocp.

If it is based on your EDITOR environmental variable, you would set it like this in Bash:

export EDITOR='vim'

Upvotes: 2

ken Wilson
ken Wilson

Reputation:

vim=/usr/bin/vim # Or wherever the Vim binary is
export EDITOR=vim

should do the job.

Upvotes: 2

Jochen Walter
Jochen Walter

Reputation: 1430

Adding

export EDITOR=vim

to your .bashrc file should really do the trick. (Quotes aren't necessary there and, depending on what quotes you used, they may be the cause for your problem.)

You must open a new shell (or enter source ~/.bashrc at the prompt) after modifying file .bashrc for the modification to take effect.

What is the program from which you want Vim to be started?

I haven't used Git, but the documentation reads:

The editor used to edit the commit log message will be chosen from the GIT_EDITOR environment variable, the core.editor configuration variable, the VISUAL environment variable, or the EDITOR environment variable (in that order).

So check whether one of these variables is set:

echo $GIT_EDITOR $VISUAL $EDITOR
git config --get-all core.editor

For me,

export VISUAL=vim

solved the problem.

Upvotes: 82

threeta
threeta

Reputation: 1

If you want vi to be your default history editor (which is why I'm here):

Edit file ~/.bashrc and add

set -o vi

anywhere in the file. Then all the lovely vi command history is available (Esc + K, etc.).

Upvotes: 0

user1306828
user1306828

Reputation: 715

Since things have changed in Mac OS X, you will have to add the following in the .profile file in the base directory of the user:

export EDITOR='vim'

You can follow the following instructions:

  1. open the terminal

  2. Type cd (hit Return or Enter (this will take you to the base directory))

  3. Type echo "export EDITOR='vim'" >> .profile (hit Return or Enter and you are done)

  4. (Restart the terminal)

=========================

Or just type:

echo "export EDITOR='vim'" >> ~/.profile

Hit Enter and restart.

Upvotes: 1

Check this command:

sudo update-alternatives --config editor

Upvotes: 2

Related Questions