【问题标题】:Git Commit - Why isn't GitBash launching my default text editor (sublime) for me to enter commit messageGit Commit - 为什么 GitBash 不启动我的默认文本编辑器 (sublime) 让我输入提交消息
【发布时间】:2016-10-16 04:03:24
【问题描述】:

我正在关注this MOOC 以了解 Git。在this video 之后,我想在我的存储库中进行第一次提交。所以我运行了 git commit 命令,期待 Sublime 文本编辑器将启动,我将在其中输入我的 提交消息但我收到以下错误。问题是我该如何解决这个问题。

Jojoa (master +) Directory for practice $ git commit
'C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe' -n -w: C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe: No such file or directory
error: There was a problem with the editor ''C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe' -n -w'.
Please supply the message using either -m or -F option.

我如何将 Sublime Text 设置为默认编辑器:

使用this lesson 作为指导,我运行以下命令将 Sublime Text 设置为我的默认文本编辑器。

git config --global core.editor "'C:/Program\ Files/Sublime\ Text \2/sublime_text.exe' -n -w"

然后我运行 C:/Program\ Files/Sublime\ Text \2/sublime_text.exe 并启动了 Sublime Text 编辑器。这验证了上述命令正常工作。

然后我继续在 sublime 文本编辑器中编辑 .bash_profile 配置文件,在其中添加以下行:

alias sublime = "C:/Program\ Files/Sublime\ Text \2/sublime_text.exe"

然后我关闭并打开 Git Bash 并运行 sublime。这打开了 Sublime Text Editor。所以我确定工作区已正确设置。

【问题讨论】:

  • 我认为您应该删除单引号或转义字符:Program\ Files'Program Files'
  • @andlrc 但它使用简单的命令sublime 打开 sublime 编辑器,这意味着编辑器配置正确。不是吗?

标签: git bash git-commit git-config


【解决方案1】:

以下内容应该适合您:

git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe' -n -w"

你的别名起作用的原因是它被 shell 扩展了:

alias sublime="C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"
sublime -> C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe ->
'C:/Program Files/Sublime Text 2/sublime_text.exe'

仅供参考,别名仅在 shell 内存中,不能被 shell 调用的任何进程使用,您可以创建一个名为:subl 的脚本并将其放置在 $PATH 中的某个位置:

$ echo "$PATH"
/usr/local/bin:/usr/bin:/bin:/home/USER/bin
$ cat "$HOME/bin/subl"
#!/bin/sh
'C:/Program Files/Sublime Text 2/sublime_text.exe' "$@"

以上内容将使您可以在任何地方使用命令subl,即使是 git core.editor:

git config --global core.editor 'subl -n -w'

您可以设置$VISUAL$EDITOR 环境变量,如果没有设置 core.editor,git 将使用这些环境变量:

export EDITOR="C:/Program Files/Sublime Text 2/sublime_text.exe"

【讨论】:

    【解决方案2】:

    默认情况下,Git 使用您设置的任何内容作为默认文本编辑器($VISUAL$EDITOR),否则将回退到 vi 编辑器来创建和编辑您的提交和标记消息。要将默认值更改为其他值,您可以使用 core.editor 设置:

    $ git config --global core.editor emacs
    

    现在,无论您的默认 shell 编辑器设置为什么,Git 都会启动 Emacs 来编辑消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-14
      • 2015-06-11
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      相关资源
      最近更新 更多