如何全局配置git以使用特定的编辑器(例如vim)提交消息?


当前回答

对于emacs用户

.emacs:

(server-start)

外壳:

export EDITOR=emacsclient

其他回答

对于Mac OS X,使用TextEdit或自然环境编辑器编辑文本:

git config --global core.editor "open -W -n"

在Windows 7中,将编辑器设置为记事本++

打开任何文本编辑器。打开此文件:C:\Users\YOUR_USERNAME\.gitconfig将此部分添加到底部:


对于64位Notepad++,请使用:

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

对于32位Notepad++,请使用:

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

保存并关闭文件。使用git提交时,只需编写gitcommit并按Enter键。它将弹出记事本++。在文件顶部写入提交消息,然后保存并关闭文件。完成!

在Ubuntu和Debian(谢谢@MichielB)上,也可以通过运行以下命令来更改默认编辑器:

sudo update-alternatives --config editor

这将提示以下内容:

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: 

对于Mac应用商店中TextWrangler的用户:

git config --global core.editor "open -n -W -a TextWrangler"

此外,确保“TextWrangler>首选项>应用程序>当TextWranger变为活动时:”设置设置为“不执行任何操作”

这适用于Mac应用商店中使用TextWrangler 5.0.2的OS X 10.11.4。

说明:

-n表示在新实例中打开。

-W表示在使用编辑文件的内容作为提交消息之前,等待应用程序退出。

-a TextWrangler表示使用TextWrangle应用程序打开文件。

有关详细信息,请在Mac终端应用程序中查看man open。

在macOS Big Sur(11.0)测试版上,TextMate:所有环境变量选项都无效。(设置所有三个:GIT_EDITOR、VISUAL和EDITOR。)

最后,在git中设置全局core.editor,这起到了作用:git-config--全局core.editor“~/bin/mate-w”