【问题标题】:How to change the text editor in git to Sublime - currently git commit commands are opening in Notepad如何将 git 中的文本编辑器更改为 Sublime - 目前 git commit 命令正在记事本中打开
【发布时间】:2017-04-09 02:57:38
【问题描述】:

尽管社区中已经发布了类似的问题,但我没有看到这个具体问题得到解决。

我正在尝试将 git 使用的默认文本编辑器更改为 Sublime。我使用的是 Windows 机器并下载了 Sublime 3。

最初,我在 Git Bash 中运行命令 git config --global core.editor "'C:\\Program Files\\Sublime Text 3\\sublime_text.exe' -n -w",然后当我运行 git commit 时,它没有打开编辑器(它只是使用 Git Bash“编辑器”)。

但是,当我将标志 -m 添加到我的 git 配置:--global core.editor "'C:\\Program Files\\Sublime Text 3\\sublime_text.exe' -n -w -m" 并运行 Git commit 时,它现在会打开记事本编辑器。

注意我没有更改 Windows 中的任何路径或默认文本编辑器设置,我只是尝试在运行 git 命令时打开 Sublime。

【问题讨论】:

  • 您能否用git config --list --show-origin | grep -i core.editor 的输出更新您的问题?这会让我们知道您的配置是否正确且未被覆盖。
  • @AshutoshJindal git config --list --show-origin | grep -i core.editor 的输出产生这个结果: file:C:/Users/ryanj/.gitconfig core.editor='c:/program files/sublime text 3/subl .exe' -w 文件:.git/config core.editor=notepad
  • 仅供参考,“Git Bash 编辑器”称为 Vim。
  • 你读过this answer吗?
  • @Code-Apprentice 是的,我阅读了答案,但可能我遗漏了一些东西 - 你是否指出了一些具体的东西?

标签: git sublimetext3 text-editor


【解决方案1】:

试试这个:

git config --global core.editor "'c:/program files/sublime text 3/subl.exe' -w"

这对我有用(即在执行git commit 时打开了一个 Sublime Text 窗口,我可以在其中输入提交消息,在保存并关闭窗口后,我检查了该提交是否包含我拥有的提交消息刚刚在 Windows 10 上输入 git show),使用 Git for Windows 版本 2.10.2 和 Sublime Text 3 build 3126

请注意,Windows 命令行帮助程序 subl.exe 于 2014 年 8 月 27 日在 Build 3065 中引入,因此这应该适用于包括 #3065 及之后的任何构建:

更新:Git 配置范围!

OP 在回应第一条评论时发布的输出清楚地表明了问题:

命令:

git config --list --show-origin | grep -i core.editor

file:C:/Users/ryanj/.gitconfig core.editor='c:/program files/sublime text 3/subl.exe' -w 
file:.git/config core.editor=notepad

OP 有一个 core.editor 的存储库级别配置,它是记事本,并覆盖了设置为他期望的全局配置(即 Sublime Text 3)。

要解决此问题,请运行以下命令:

git config --unset core.editor

并确认git config --list --show-origin | grep -i core.editor 仅向您显示一个配置文件(即 c:/users/ryanj/.gitconfig),并将 Sublime Text 3 设置为编辑器。

【讨论】:

  • @Ashtosh Jindal 我运行了您列出的命令:git config --global core.editor "'c:/program files/sublime text 3/subl.exe' -w",但是当我运行Git commit 时,它仍在记事本中打开。此外,当我运行git var GIT_EDITOR 时,它会列出“记事本”
  • 已更新我的答案,尝试运行git config --unset core.editor 并重新运行git config --list --show-origin | grep -i core.editor 并发布输出。
  • @Ashtosh Jindal 成功了!现在运行git config --list --show-origin | grep -i core.editor只产生一行:$ git config --list --show-origin | grep -i core.editor 文件:C:/Users/ryanj/.gitconfig core.editor='c:/program files/sublime text 3/subl.exe' -w。此外,运行 git commit 会打开 Sublime Text。谢谢!
猜你喜欢
  • 2020-04-27
  • 2019-09-13
  • 2023-04-10
  • 2014-05-03
  • 2018-11-27
  • 2020-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多