如何正确配置Sublime Text 3作为git commit消息的默认文本编辑器?

时间:2018-03-17 22:32:49

标签: linux git sublimetext3

我正在学习如何在Windows上使用Ubuntu CLI执行git命令之类的操作,到目前为止一切顺利。然而,我唯一的抱怨是每当ST3的一个实例打开提交消息时,第二个选项卡就会打开并且有点破坏事物的流动。

最初,我将ST3设置为文本编辑器的做法是将以下行附加到.gitconfig文件中:

[core]
    editor = /mnt/c/Program\\ Files/Sublime\\ Text\\ 3/subl.exe `wslpath.sh -w $PWD/.git/COMMIT_EDITMSG` -nw

注意:对于熟悉Cygwin函数的人来说,“ wslpath.sh -w ”就像cygpath一样,它将Unix格式的目录转换成适用于Windows。

我希望每次提交更改时都阻止this additional tab开启,并且只显示 the window for editing messages

screenshot of editor

1 个答案:

答案 0 :(得分:0)

您不应该将该文件的路径添加到命令中。 Git会把它作为命令的参数。

因此`wslpath.sh -w $PWD/.git/COMMIT_EDITMSG`不应该是core.editor命令集的一部分。

您的命令依赖于打开文件COMMIT_EDITMSG,当git尝试打开文件以编辑合并提交消息,交互式rebase todo文件或编辑带注释的标记消息等时,这将无法正常工作。提交消息不是通过文件进行编辑的唯一地方。

附加选项卡(如截图中所示)似乎来自这样一个事实:文件实际上在结果命令中列出了两次:一次来自core.editor配置变量,另一次来自{{1 }}