vim - How do I make git use the editor of my choice for commits?

ID : 205

viewed : 189

Tags : gitvimemacseditorcommit-messagegit





Top 5 Answer for vim - How do I make git use the editor of my choice for commits?

vote vote

93

If you want to set the editor only for Git, do either (you don’t need both):

  • Set core.editor in your Git config: git config --global core.editor "vim"

OR

  • Set the GIT_EDITOR environment variable: export GIT_EDITOR=vim

If you want to set the editor for Git and also other programs, set the standardized VISUAL and EDITOR environment variables*:

export VISUAL=vim export EDITOR="$VISUAL" 

NOTE: Setting both is not necessarily needed, but some programs may not use the more-correct VISUAL. See VISUAL vs. EDITOR.


Some editors require a --wait flag, or they will open a blank page. For example:

  • Sublime Text (if correctly set up; or use the full path to the executable in place of subl):

    export VISUAL="subl --wait"

  • VS Code (after adding the shell command):

    export VISUAL="code --wait"

vote vote

85

Copy paste this:

git config --global core.editor "vim" 

In case you'd like to know what you're doing. From man git-commit:

ENVIRONMENT AND CONFIGURATION VARIABLES

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

vote vote

71

On Ubuntu and also Debian (thanks @MichielB) changing the default editor is also possible by running:

sudo update-alternatives --config editor 

Which will prompt the following:

There are 4 choices for the alternative editor (providing /usr/bin/editor).    Selection    Path                Priority   Status ------------------------------------------------------------   0            /bin/nano            40        auto mode   1            /bin/ed             -100       manual mode   2            /bin/nano            40        manual mode * 3            /usr/bin/vim.basic   30        manual mode   4            /usr/bin/vim.tiny    10        manual mode  Press enter to keep the current choice[*], or type selection number:  
vote vote

67

In windows 7, while adding the "Sublime" editor it was still giving me an error:

Aborting commit due to empty commit message.

Sublime was not able to keep the focus.

To fix this I opened the .gitconfig file in c:/users/username/ folder and added the following line with --wait option outside the single quotes.

[core]       editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait 

Hope its helpful to somebody facing similar issue with Sublime.

vote vote

53

In Windows 7, setting editor to Notepad++

  • Open any text editor.
  • Open this file: C:\Users\YOUR_USERNAME\.gitconfig
  • Add this section to the bottom:

For 64 bit Notepad++ use:

[core]     editor = 'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar 

For 32 bit Notepad++ use:

[core]     editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar 
  • Save and close the file.
  • When you're committing with git, just write git commit and press Enter. It will pop open Notepad++.
  • Write your commit message at the top of the file, and save and close the file. Done!

Top 3 video Explaining vim - How do I make git use the editor of my choice for commits?







Related QUESTION?