How do I make Git use the editor of my choice for commits?

I would prefer to write my commit messages in Vim, but it is opening them in Emacs.

How do I configure Git to always use Vim? Note that I want to do this globally, not just for a single project.


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"
  • 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"
    

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


    For Sublime Text : Add this to the .gitconfig . The --wait is important. (it allows to type text in sublime and will wait for save/close event.

    [core]
        editor = 'subl' --wait
    

    'subl' can be replaced by the full path of the executable but is usually available when correctly installed.


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


    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: 
    
    链接地址: http://www.djcxy.com/p/3866.html

    上一篇: 让Git确认以前移动的文件

    下一篇: 我如何让Git使用我选择的编辑器进行提交?