我在使用 git
将 Sublime Text 2 设置为 core.editor
时遇到问题。
我已经阅读了所有我能找到解决问题的帖子,但仍然没有任何东西对我有用。我正在运行 Windows。
我已经做好了:
git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe'"
并尝试使用各种参数(如 -m
)。当我打开我的 .gitconfig
时,里面是这样的:
[user]
name = Spencer Moran
email = smoran02@gmail.com
[core]
editor = 'C:/Program Files/Sublime Text 2/sublime_text.exe'
如果我去 Git 并输入:
README.markdown --edit
自述文件在记事本中打开,而不是在 Sublime Text 中打开。
有谁知道我做错了什么或如何解决这个问题?
README.markdown --edit
,则根本不涉及 git
。如果您希望它起作用,请更改 Windows 中的文件关联。
-w
表示“等待文件关闭后再返回”,-n
表示“打开一个新窗口”。来源:docs.sublimetext.info/en/latest/command_line/command_line.html
视窗
崇高文本 2(构建 2181)
最新的 Build 2181 刚刚添加了对 -w
(等待)命令行参数的支持。以下配置将允许 ST2 作为 Windows 上的默认 git 编辑器工作。这将允许 git 打开 ST2 以获取提交消息等。
git config --global core.editor "'c:/program files/sublime text 2/sublime_text.exe' -w"
崇高文本 3(构建 3065)
Sublime Text 3(内部版本 3065)添加了 subl.exe
命令行帮助程序。将 subl.exe -h
用于您可用的选项。我在 Sublime Text 用户设置中设置了 hot_exit: true
和 remember_open_files: true
。我发现以下 git config 对我很有效。
git config --global core.editor "'c:/program files/sublime text 3/subl.exe' -w"
Mac 和 Linux
通过在终端中输入以下命令,将 Sublime 设置为 Git 的编辑器:
git config --global core.editor "subl -n -w"
使用此 Git 配置,新选项卡将在我的编辑器中打开。我编辑我的提交消息,保存选项卡 (Ctrl+S) 并关闭它 (Ctrl+W)。
Git 将等到选项卡关闭以继续其工作。
您可以在 Mac 和 Linux 上使用此命令:
git config --global core.editor "subl -n -w"
subl -w
,但如果您打开了其他选项卡,这将无法正常工作。我发现 subl -n -w
效果更好,因为它会打开一个新窗口。
对于 Mac 和 Sublime Text 3:
如果 git config --global core.editor "subl -n -w"
不起作用,请使用此 git config
命令:
$ git config --global core.editor "'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' -n -w"
注意:它不包含转义反斜杠。
对于 [core] 下的文件 ~/.gitconfig 中的 Mac OS X,我不得不把这段代码放在我的最后来解决这个问题。
editor = /Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl -n -w
这是 subl 工作正常但 git 无法访问它的时候。并显示这些错误
subl -n -w: subl: command not found
error: There was a problem with the editor 'subl -n -w'.
在 cygwin/zsh 中对我有用的东西:
在 /usr/local/bin 创建 subl_git 文件
#!/bin/bash
/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe -w -n `cygpath -w $@`
在 gitconfig 中:
editor = /usr/local/bin/subl_git
git config --list
有什么不同?提前致谢。
"/cygdrive/c/Program Files/Sublime Text 3/subl.exe" -w -n "`cygpath -d -w "$@"`
使用 Sublime Text 2 和以下配置,如果关闭 git commit 的注释文件时没有任何反应:
git config --global core.editor "'c:/program files/sublime text 2/sublime_text.exe' -w"
如果在 Sublime 中关闭 COMMIT_EDITMSG 注释文件时 git 提交没有完成,我发现这可能是因为您在管理员模式下运行 CMD(并且已经在非管理员模式下打开了 Sublime Text)。我有同样的问题,当我在正常模式下启动我的 CMD 时它对我有用。
Ps:只是想回答@david在已接受答案的评论中指出的问题,但我无法发表评论,因为我是新来的......所以我做了一个新的答案,因为我认为这可以对一些遇到问题的人有用。
我刚刚在 PowerShell(Windows 命令行工具,也可用作 GithubforWindows 上的默认命令行)的帮助下成功完成
只需在“C:\Users\%username%\My Documents”上创建一个文件夹“WindowsPowerShell”。然后,创建一个名为“profile.ps1”的文件。确保您具有正确的文件扩展名,.ps1 而不是 .txt。在 profile.ps1 中,放置这一行来设置别名命令:
Set-Alias subl 'c:\program files\sublime text 2\sublime_text.exe'
确保你机器上的 sublime 目录是正确的。您还可以在 here 中查看配置详细信息。
现在,我可以通过 PowerShell 命令使用 Sublime Text 2 编辑文件,只需键入:
subl filename
希望这是有用的...
subl .
Set-Alias subl 'c:\program files\sublime text 3\subl.exe'
今天晚上我在 Windows 中使用 git 编辑器遇到了同样的问题,终于搞定了。
您需要使用 bash 语法设置编辑器路径并使用 DOS 8.3 格式来避免空格:
这不起作用(对我来说):
git config --global core.editor "C://Program files/Sublime Text/sublime_text.exe"
这样做:
git config --global core.editor /C/PROGRA~1/SUBLIME~1/sublime_text.exe
您可以使用 dir /x 获取目录的 DOS 8.3 名称
在下面的 MacOS(Mojave) 上为 Sublime 3 工作:
git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -n -w"
出于某种原因,我只是在为此苦苦挣扎,上面的例子都没有对我有用。然而,这是我的解决方案:
git config --global core.editor "'c:/<path to sublime>/sublime_text.exe' -w $*"
您特别需要路径周围的 ' '
和 args 末尾的 $*
,都在 " "
中。
如果您是 Mac 用户,那么方法如下:
git config --global core.editor '/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
好吧,即使在将它设置为我的 core.editor 之后,我在从 gitbash 调用 notepad++ 时也遇到了一些麻烦。
我通过将以下行附加到我的 gitbash 安装目录中的 .bashrc 文件来解决所有问题。
alias npp='winpty "C:/Program Files (x86)/Notepad++/notepad++.exe"'
所以,我可以使用别名“npp”调用记事本++。如果您将目录更改为您要使用的相应编辑器,我觉得这可以帮助您。
对于 MAC 用户,我可以说 Sublime 使用以下内容:
首先使用命令检查 .gitconfig 文件:
cd ~ ls -la cat .gitconfig
现在可以添加此配置:
git config --global core.editor "subl -n -wl1"
l1
将告诉从第 1 行开始。
https://i.stack.imgur.com/u3w2p.png
对于 Windows 7,我发现以下解决方案有效:
git config --global core.editor "C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe -n -w"
https://i.stack.imgur.com/pxXUh.png
editor = 'C:\\Program Files\\Sublime Text 2\\sublime_text.exe' -w
hot_exit
为 false 并且灯熄灭时,所有未保存的工作都将开始!!!!!!!!!!!!