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


当前回答

Windows:将记事本设置为默认的提交消息编辑器

git config --global core.editor notepad.exe

按Ctrl+S保存提交消息。要放弃,只需关闭记事本窗口而不保存。

如果您点击保存快捷方式,然后决定中止,请转到文件->另存为,在打开的对话框中,将“另存为类型”更改为“所有文件(*.*)”。您将看到一个名为“COMMIT_EDITMSG”的文件。删除它,然后关闭记事本窗口。

编辑:或者,更容易地从打开的记事本窗口中删除所有内容,然后单击保存。(感谢姆沃恩利的评论!)

我认为对于诸如提交消息之类的小记录,记事本是最好的,因为它很简单,有窗口,很快就能打开。当你有一大堆插件和东西时,甚至你的崇高也可能需要一两秒钟才能被激发起来。

其他回答

Run:

git config --global core.editor "vim"

来自man git commit:

环境和配置变量用于编辑提交日志消息的编辑器将从GIT_editor环境变量、core.editor配置变量、VISUAL环境变量或editor环境变数中选择(按顺序)。

设置Git的默认编辑器

选择一个:

在Git配置中设置core.editor:git-config—全局core.editor“vim”设置GIT_EDITOR环境变量:导出GIT_EDITOR=vim


设置所有程序的默认编辑器

设置标准化的VISUAL和EDITOR环境变量*:

export VISUAL=vim
export EDITOR="$VISUAL"

注意:不一定需要同时设置这两个,但某些程序可能不会使用更正确的VISUAL。参见视觉与编辑。


修复兼容性问题

有些编辑器需要--wait标志,否则将打开空白页。例如:

Sublime文本(如果设置正确;或使用可执行文件的完整路径代替subl):export VISUAL=“subl--等待”VS代码(添加shell命令后):export VISUAL=“code--wait”

这为找到这个问题的人提供了一个答案,他们可能希望链接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

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

要使vim成为ubuntu 20:04上git的默认编辑器,请运行以下命令:

git config --global core.editor vim

在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键。它将弹出记事本++。在文件顶部写入提交消息,然后保存并关闭文件。完成!