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


当前回答

只是因为我来这里是为了寻找一个一次性的解决方案(在我的情况下,我通常使用vim,但这一次我想使用VS代码),其他人可能也想知道:

GIT_EDITOR='code -w' git rebase -i …

这是我的git/hub版本,仅用于上下文:

git version 2.24.2 (Apple Git-127)
hub version 2.14.1

其他回答

在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,BBEdit:

首先,打开BBEdit,单击BBEdit徽标,然后选择Install Command Line Tools。

然后从命令行,

git config --global core.editor "BBEdit -w"

这为找到这个问题的人提供了一个答案,他们可能希望链接vim以外的编辑器。

Github提供的链接资源很可能会在编辑更新时保持最新,即使SO(包括这个)上的答案不是这样。

将文本编辑器与git关联

Github的帖子准确地显示了各种编辑器在命令行中输入的内容,包括特定于每个编辑器的选项/标志,以使其与git配合得更好。

记事本++:git-config--global-core.editor“'C:/Program Files(x86)/Notepad++/nopad++.exe'-multeInst-notibbar-nosession-noPlugin”

Sublime文本:git-config--全局core.editor“'c:/Program Files\sublimitext 3/subl.exe'-w”

原子:git-config--全局core.editor“atom--等待”

上面的命令假设您的编辑器已安装在windows计算机的默认目录中。

这些命令基本上将双引号之间的文本添加到主目录中的.gitconfig。在windows计算机上,主页可能是C:\Users\您的用户名,其中您的用户名是您的登录名。在命令行中,您可以通过键入cd~来访问此目录。

例如,上面的命令将在[core]部分下面添加以下行,如下所示:[核心]editor='C:/Program Files\sublime text 3/subl.exe'-w

如果您有不同的编辑器,只需使用上述任一方法替换为编辑器的路径。(希望不需要任何标志来实现最佳使用。)

对于希望使用Kinetics文本编辑器的Windows用户

创建一个名为“k.sh”的文件,添加以下文本并放置在主目录(~)中:

winpty "C:\Program Files (x86)\Kinesics Text Editor\x64\k.exe" $1

在git提示符下键入:

git config --global core.editor ~/k.sh

对于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。