Как я могу сделать Sublime Text редактором по умолчанию для Git?

У меня проблема с установкой Sublime Text 2 как core.editor с git.

Я прочитал все сообщения, которые, как мне удалось найти, посвященные этой проблеме, но все равно у меня ничего не работает. Я использую Windows.

Я сделал:

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

и пробовал это с различными аргументами, такими как -m. Когда я открываю свой .gitconfig, вот что там:

[user]
    name = Spencer Moran
    email = [email protected]
[core]
    editor = 'C:/Program Files/Sublime Text 2/sublime_text.exe'

Если я перейду в Git и наберу:

README.markdown --edit

файл README открывается в Блокноте, а не в Sublime Text.

Кто-нибудь знает, что я делаю не так или как я могу это исправить?


person Spencer Moran    schedule 21.01.2012    source источник
comment
Если вы набираете только README.markdown --edit в cmd.exe, git вообще не участвует. Измените ассоциации файлов в Windows, если хотите, чтобы это работало.   -  person Mat    schedule 21.01.2012
comment
Общая информация для большинства ответов ниже: -w означает дождаться закрытия файла перед возвратом, а -n означает открыть новое окно. Источник: docs.sublimetext.info/en/latest/command_line/command_line.html < / а>   -  person MarredCheese    schedule 05.04.2017


Ответы (16)


Окна

Sublime Text 2 (сборка 2181)

В последней версии Build 2181 добавлена ​​поддержка -w ( подождите) аргумент командной строки. Следующая конфигурация позволит ST2 работать в качестве редактора git по умолчанию в Windows. Это позволит git открывать ST2 для сообщений фиксации и т. Д.

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

Sublime Text 3 (сборка 3065)

Sublime Text 3 (сборка 3065) добавил помощника командной строки subl.exe. Используйте subl.exe -h для доступных вам опций. У меня есть hot_exit: true и remember_open_files: true в пользовательских настройках Sublime Text. Я обнаружил, что следующее, чтобы 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 будет ждать закрытия вкладки, чтобы продолжить свою работу.

person jrotello    schedule 23.02.2012
comment
Лично, помимо настройки моего редактора, как предлагает @jrotello, мой опыт работы с ST2 / git значительно улучшился, когда я добавил следующие параметры в свои настройки ST2: {hot_exit: false, Remember_open_files: false, close_windows_when_empty: true} - person Sandy; 30.07.2012
comment
@Sandy Можешь объяснить? Мне нравятся эти настройки, и я хотел бы знать обратную сторону - person Kos; 17.11.2012
comment
Обратите внимание, что в указанном выше пути вместо обратной косой черты используются косые черты. Использование обратной косой черты приводит к сбою (даже при сохранении с c:\\program... в .gitconfig). - person Phrogz; 02.01.2013
comment
@Phrogz: мне удалось заставить его работать в моем .gitconfig со следующим синтаксисом: editor = 'C:\\Program Files\\Sublime Text 2\\sublime_text.exe' -w - person awayken; 28.02.2013
comment
Для меня это откроет новую вкладку, если возвышенный текст уже открыт. Закрытие вкладки не дает git знать о том, что сделано. Я пробовал --multiinstance, но вроде ничего не дает. - person David Faivre; 10.06.2013
comment
обратите внимание, что когда hot_exit ложно и свет погас, вся несохраненная работа прекратится !!!!!!!!!! - person Jürgen Paul; 14.08.2013
comment
@David: По крайней мере, в Sublime Text 3 (3059) добавление -n работает для открытия нового окна - находится по адресу sublimetext.com/docs/3/osx_command_line.html - person jdasilva; 22.03.2014
comment
На самом деле, используя -n -w, git, похоже, не может сказать, что возвышенное текстовое окно закрылось (если у меня есть хотя бы существующее возвышенное окно). -w --multiinstance по-прежнему работает лучше всего, хотя в новом возвышенном окне все существующие вкладки открываются заново. Похоже, их можно смело игнорировать. - person David Faivre; 24.03.2014
comment
@David: Я использую те же настройки, что и в первом комментарии от Сэнди, и похоже, что ваш сценарий мне подходит. Я получаю красивое свежее окно, и закрытие вкладки или окна работает. (Что касается меня, то я нормально использую эти настройки.) - person jdasilva; 24.03.2014
comment
В Win8.1, используя ST3 + Git версии 1.9.4-preview20140611, после добавления программы к моему пути и перезапуска я могу успешно запустить ST3 через git commit с информацией о фиксации в файле с именем COMMIT_EDITMSG. Однако Git сразу же при запуске файла сообщает об отмене фиксации из-за пустого сообщения о фиксации. - сохранение и закрытие ST3 после ввода сообщения о фиксации ничего не делает в Git. - person danjah; 30.07.2014
comment
Я заставил его работать под Windows, используя только editor = subl.exe -w и добавив каталог Sublime Text в переменную среды path. - person kleinfreund; 09.02.2015
comment
@kleinfreund, когда вы говорите, что использовали editor = subl.exe -w, вы имеете в виду Powershell или Git Bash? Я запускал это в обоих случаях, но это привело к ошибке синтаксиса - есть ли что-нибудь, что мне нужно добавить до или после команды? Также - можете ли вы объяснить, что мне нужно сделать, чтобы добавить каталог Sublime Text в переменную среды path? - person Ryan Chase; 24.11.2016
comment
Все, я использую Git Bash на машине с Windows, я использую git config --global code.editor "'C:\\Program Files\\Sublime Text 3\\sublime_text.exe' -n -w -m", но когда я запускаю git commit, он открывается в Блокноте. Перед добавлением флага -m он открывался в редакторе Git Bash. Я загрузил Sublime 3, а исполняемый файл называется sublime_text.exe. Больше я ничего не делал (например, не менял переменные окружения). Есть предположения? - person Ryan Chase; 24.11.2016
comment
У меня были проблемы с тем, что subl.exe никогда не выходил (windows 10 RS4 / sublime 3126) независимо от флагов. Как ни странно, сработал обычный sublime_text.exe с -w -n. - person Jonathan Gawrych; 27.05.2018

Вы можете использовать эту команду на Mac и Linux:

git config --global core.editor "subl -n -w"
person sfufoet    schedule 19.02.2012
comment
Фактически, в наши дни на Mac рекомендуется создать символическую ссылку на subl где-нибудь в вашем $ PATH и установить свой редактор на 'subl -w'. Это в официальной документации. - person Sandy; 30.07.2012
comment
Я упомянул следующие документы: sublimetext.com/docs/2/osx_command_line.html - person Sandy; 01.08.2012
comment
В документации говорится, что нужно использовать subl -w, но если у вас открыты другие вкладки, это будет работать некорректно. Я обнаружил, что subl -n -w работает лучше, поскольку открывает новое окно. - person iano; 07.06.2013
comment
@iano, если я это сделаю, мне нужно закрыть вкладку или закрыть окно, чтобы зафиксировать? закрыть окно не работает - person Karthik T; 05.08.2013
comment
Мне пришлось использовать ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/, чтобы создать символическую ссылку для sublfirst. См. здесь. - person Kerem; 27.10.2015

Для Mac OS X в файле ~ / .gitconfig в [core] мне пришлось поместить этот код, чтобы решить проблему с моей стороны.

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'.
person Ahmad Awais    schedule 08.06.2016
comment
Это то, что помогло мне после того, как я попробовал другие решения, спасибо - person Blu3; 06.05.2021

Для 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"

Примечание: он не содержит экранирующих обратных косых черт.

person nu-bo    schedule 14.11.2017
comment
Это правильный способ установить его. Спасибо за это. - person Farruh Habibullaev; 12.03.2021

что сработало для меня в 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
person meeech    schedule 13.01.2014
comment
извините за вопрос новичка, но как мне получить доступ к gitconfig? Это отличается от запуска git config --list? Заранее спасибо. - person Ryan Chase; 24.11.2016
comment
это просто перечисляет их. Вам нужно отредактировать свой gitconfig - person meeech; 08.12.2016
comment
У меня было место в папке пользователя, поэтому я использовал модифицированный -"/cygdrive/c/Program Files/Sublime Text 3/subl.exe" -w -n "`cygpath -d -w "$@"` - person Mark; 19.01.2017

При использовании Sublime Text 2 и следующей конфигурации, если ничего не происходит при закрытии файла комментариев git commit:

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

Если фиксация git не завершается, когда вы закрываете файл комментариев COMMIT_EDITMSG в Sublime, я обнаружил, что это, вероятно, связано с тем, что вы запускаете CMD в режиме администратора (и у вас уже открыт Sublime Text в режиме без администратора). У меня была такая же проблема, и она сработала, когда я запустил свой CMD в обычном режиме.

Ps: просто хотел ответить на проблему, которую @david указал в комментариях к принятому ответу, но я не мог опубликовать комментарий, так как я здесь новичок ... поэтому я сделал новый ответ, потому что я думаю, что это может быть полезно для некоторых людей, столкнувшихся с проблемой.

person Francois    schedule 09.03.2015
comment
Спасибо за совет. Вы знаете решение? - person Scott Wegner; 04.05.2015
comment
@ScottWegner В качестве временного решения просто запустите CMD в режиме без прав администратора. Вам не нужно находиться в режиме администратора, чтобы запускать команды git. Однако, если вам действительно нужно быть в режиме администратора, я не нашел для этого решения, кроме открытия другого экземпляра CMD. - person Francois; 13.05.2015
comment
спасибо за продолжение. Я получаю оболочки с повышенными правами, потому что моя среда разработки требует режима администратора для других инструментов (Visual Studio), поэтому я запускаю всю свою оболочку с повышенными правами. Я думаю, что буду исследовать только те инструменты, которые в этом нуждаются. - person Scott Wegner; 13.05.2015
comment
@ScottWegner Я лично использую Cmder (полная версия даже включает msysgit). Он позволяет использовать несколько экземпляров CMD, bash или других оболочек в уникальном окне с вкладками. Некоторые вкладки можно запускать в режиме администратора, а другие - в обычном режиме. Обычно у меня есть одна вкладка, посвященная git, а другие вкладки - для других моих инструментов. Может быть, вам будет интересно попробовать. Это отличный инструмент! - person Francois; 13.05.2015
comment
re: режим администратора - я думаю, фокус в том, что ваша оболочка и возвышенное должны использовать одни и те же привилегии. то есть, если вы используете свой терминал с повышенным уровнем, а возвышенный также повышен, он работает плавно. - person Joseph Evensen; 04.10.2018

Я только что успешно сделал это с помощью PowerShell (инструменты командной строки для Windows, которые также можно использовать в качестве командной строки по умолчанию в GithubforWindows)

Просто создайте папку «WindowsPowerShell» на «C: \ Users \% username% \ My Documents». Затем создайте файл с именем «profile.ps1». Убедитесь, что у вас правильное расширение файла - .ps1, а не .txt. внутри profile.ps1 поместите эту строку, чтобы задать команду псевдонима:

Set-Alias subl 'c:\program files\sublime text 2\sublime_text.exe'

Убедитесь, что на вашем компьютере указан правильный каталог. Вы также можете увидеть детали конфигурации здесь.

Теперь я могу редактировать файлы с помощью Sublime Text 2 с помощью команды PowerShell, просто набрав:

subl filename

Надеюсь, это будет полезно ...

person rwinzhang    schedule 28.12.2012
comment
Чтобы открыть текущую папку в Sublime Text 2, вы можете использовать: subl . - person awayken; 28.02.2013
comment
Для Sublime Text 3 используйте новый файл subl.exe: Set-Alias subl 'c:\program files\sublime text 3\subl.exe' - person wtjones; 30.10.2014

Сегодня вечером я столкнулся с той же проблемой с редактором git в Windows, и, наконец, она у меня есть.

Вам нужно будет указать путь к редактору с использованием синтаксиса 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

Вы можете получить имя DOS 8.3 для каталога с помощью dir / x

person Diego Buendia    schedule 23.12.2014

По какой-то причине я просто боролся с этим, ни один из приведенных выше примеров не работал у меня. Однако это было моим решением:

 git config --global core.editor "'c:/<path to sublime>/sublime_text.exe' -w $*"

Вам особенно нужны ' ' вокруг пути и $* в конце аргументов, все в " ".

person justin.m.chase    schedule 20.12.2014

Если вы пользователь Mac, то вот как это сделать:

git config --global core.editor '/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
person mainframer    schedule 05.10.2015

ну, у меня были проблемы с вызовом notepad ++ из gitbash даже после того, как я установил его в качестве моего core.editor.

Я все решил, добавив следующую строку в мой файл .bashrc в моем установочном каталоге gitbash.

alias npp='winpty "C:/Program Files (x86)/Notepad++/notepad++.exe"'

Итак, я могу вызвать блокнот ++ с псевдонимом «npp». Я считаю, что это может помочь вам, если вы измените каталог на соответствующий редактор, который хотите использовать.

person OLATOMIDE    schedule 14.02.2017

Для пользователей MAC я могу сказать, что для Sublime используйте следующее:

Сначала проверьте файл .gitconfig с помощью команды:

  1. cd ~
  2. ls -la
  3. cat .gitconfig

Теперь можно добавить эту конфигурацию:

git config --global core.editor "subl -n -wl1"

Где l1 скажет начать со строки 1.

person bvmCoder    schedule 02.02.2015

Для Windows 7 я обнаружил, что работает следующее решение:

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

В Windows, если вы устанавливаете git, вы можете выбрать другой редактор и указать следующую командную строку. C: \ Program Files \ Sublime Text 3 \ sublime_text.exe -w  Изображение установщика

person Xavier John    schedule 09.11.2018

Я не видел никаких обновлений, касающихся Windows, которые позволяли бы установке Git активно выбирать Sublime Text в качестве текстового редактора по умолчанию, без всякого шума и перетаскивания исходных кодов переопределения ...  Sublime Text, показанный как опция при (пере) установке  of Git

person Angelfirenze    schedule 25.01.2019

На MacOS (Mojave) у меня работает для Sublime 3 ниже:

git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -n -w"

person Pratik Patel    schedule 01.01.2020