我正在关注this MOOC以了解Git。在this video之后,我想在我的存储库中进行第一次提交。所以我运行了 git commit
命令,期望在我输入提交消息的地方启动Sublime Text Editor。 但是我收到了以下错误。问题是我该如何解决这个问题。
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。所以我确定工作区已经正确设置。
答案 0 :(得分: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
中的某个位置:< / p>
$ 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"
答案 1 :(得分:0)
默认情况下,Git使用您设置为默认文本编辑器($VISUAL
或$EDITOR
)的任何内容,或者回退到vi编辑器以创建和编辑您的提交和标记消息。要将默认值更改为其他内容,您可以使用core.editor
设置:
$ git config --global core.editor emacs
现在,无论将什么设置为默认的shell编辑器,Git都会启动Emacs来编辑消息。