Як я можу зробити Sublime Text редактором за замовчуванням для Git?


216

У мене проблема із встановленням 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 = smoran02@gmail.com
[core]
    editor = 'C:/Program Files/Sublime Text 2/sublime_text.exe'

Якщо я перейду до Git і введіть:

README.markdown --edit

Файл README відкриється в Блокноті, а не піднесеному тексті.

Хтось має уявлення про те, що я роблю неправильно або як я можу це виправити?


11
Якщо ви вводите лише README.markdown --edit в cmd.exe, gitце взагалі не бере участь. Змініть свої асоціації файлів у Windows, якщо ви хочете, щоб це працювало.
Мат

1
Загальний фінансовий збір для більшості відповідей нижче: -wозначає "Зачекайте, коли файл буде закритий перед поверненням", і -nозначає "Відкрити нове вікно". Джерело: docs.sublimetext.info/uk/latest/command_line/command_line.html
MarredCheese

Мої улюблені налаштування для використання Sublime Text 3 в якості мого редактора git: stackoverflow.com/questions/2596805/…
Габріель Степлес

Відповіді:


343

Windows

Піднесений текст 2 (збірка 2181)

Остання збірка 2181 щойно додала підтримку -wаргументу командного рядка (зачекання). Наступна конфігурація дозволить ST2 працювати як ваш редактор git за замовчуванням у Windows. Це дозволить git відкривати ST2 для повідомлень про фіксацію тощо.

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

Піднесений текст 3 (збірка 3065)

Піднесений текст 3 (Build 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 буде чекати, поки вкладка закриється, щоб продовжити свою роботу.


14
Особисто, крім встановлення мого редактора, як пропонує @jrotello, мій досвід ST2 / git значно покращився, коли я додаю наступні параметри до моїх налаштувань ST2: {"hot_exit": false, "Remember_open_files": false, "close_windows_when_empty": true }
Сенді

6
@Phrogz: Мені вдалося змусити його працювати в моєму .gitconfig із таким синтаксисом:editor = 'C:\\Program Files\\Sublime Text 2\\sublime_text.exe' -w
відсторонено

4
Для мене це відкриє нову вкладку, якщо вже відкритий піднесений текст. Закривши вкладку, не повідомляє git знати, що зроблено. Я спробував - багаторечовина, але, схоже, нічого не робиться.
David Faivre

5
зауважте, що коли hot_exitнеправдиво, і вогні погасли, всі незбережені роботи закінчаться !!!!!!!!!!
Юрген Пол

4
Насправді, використовуючи "-n -w", git, здається, не в змозі сказати, що піднесене текстове вікно закрите (якщо у мене є щонайменше відкрите піднесене вікно). "-w - мультиречовина" все ще працює найкраще, хоча в новому піднесеному вікні всі існуючі вкладки знову відкриваються. Здається, їх можна сміливо ігнорувати.
David Faivre

94

Ви можете використовувати цю команду на Mac та Linux:

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

26
Насправді, для Mac на сьогоднішній день рекомендація полягає в тому, щоб позначити subl десь у вашому $ PATH і встановити редактору "subl -w". Це в офіційних документах.
Сенді

8
Документи, про які я згадував, є: sublimetext.com/docs/2/osx_command_line.html
Сенді

8
Документи говорять про використання subl -w, але якщо у вас відкриті інші вкладки, це не працюватиме правильно. Я знайшов subl -n -wроботи краще, оскільки відкриває нове вікно.
iano

1
@iano, якщо мені це зробити, чи слід закрити вкладку чи закрити вікно, щоб зробити це? закрити вікно не працювало
Karthik T

Це відкриває для мене пустий документ піднесене, поки я не дотримувався цих інструкцій: sublimetext.com/docs/3/osx_command_line.html, але змінив шлях з Sublime Text.app на Sublime Text 2.app
Evanss

14

Для 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'.

11

Для Mac і піднесеного тексту 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"

Примітка: він не містить просочуються косої риски.


7

що працювало для мене у 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

вибачте моє питання для новачків, але як я можу отримати доступ до gitconfig? Це відрізняється від бігу git config --list? Заздалегідь спасибі.
Райан Чейз

що лише перераховує їх. Ви не можете редагувати свою gitconfig
meeech

У моїй папці користувача було місце, тому я використав модифікований -"/cygdrive/c/Program Files/Sublime Text 3/subl.exe" -w -n "`cygpath -d -w "$@"`
Марк

6

З 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 вже відкритий в режимі не адміністратора). У мене була та ж проблема , і вона працювала для мене , коли я почав свою CMD в звичайному режимі.

Пс: просто хотів відповісти на проблему @david вказав у коментарях прийнятої відповіді, але я не зміг розмістити коментар, оскільки я тут новий ... тому я зробив нову відповідь, тому що я думаю, що це може бути корисно для деяких людей, що стикаються з проблемою.


Дякую за пораду. Ви знаєте рішення?
Скотт Вегнер

@ScottWegner Просто запустіть свій CMD в режимі без адміністрування, як вирішення. Для запуску команд git вам не потрібно перебувати в режимі адміністратора. Однак якщо вам дійсно потрібно перебувати в режимі адміністратора, я не знайшов рішення для цього, крім відкриття іншого екземпляра CMD.
Франсуа

дякую за подальші дії. Я закінчую підвищеними оболонками, оскільки моє середовище розробки вимагає режиму адміністрування для інших інструментів (Visual Studio), тому я запускаю всю свою оболонку піднятою. Я думаю, що я вивчу лише піднімаючі інструменти, які це потребують.
Скотт Вегнер

1
@ScottWegner Я особисто використовую Cmder (повна версія включає навіть msysgit). Це дозволяє багатократним екземплярам CMD, bash або інших оболонок, в унікальному вікні з вкладками. Ви можете запустити деякі вкладки в режимі адміністратора, а інші - у звичайному режимі. У мене зазвичай є одна вкладка, присвячена git, та інші вкладки для інших моїх інструментів. Можливо, вам було б цікаво спробувати. Це чудовий інструмент!
Франсуа

re: admin mode - я думаю, що хитрість полягає в тому, що ваша оболонка і піднесеність повинні використовувати однакові привілеї. тобто якщо у вас термінал підвищений, а піднесений також підвищений, він працює безперебійно.
Джозеф Евенсен

5

Я щойно успішно зробив це за допомогою 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

Сподіваємось, це корисно ...


4
Щоб відкрити поточну папку в Sublime Text 2, ви можете скористатися: subl .
удаленим

Для Sublime Text 3 використовуйте новий subl.exe:Set-Alias subl 'c:\program files\sublime text 3\subl.exe'
wtjones

3

Я зіткнувся з тією самою проблемою, що і редактор 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


1

Я просто боровся з цим чомусь, жоден із наведених вище прикладів не працював для мене. Це було моє рішення, однак:

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

Вам спеціально потрібні ' 'навколо шляху і $*в кінці арг, все в " ".


1

Якщо ви користувач Mac, то ось як:

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

1

ну, у мене виникли проблеми із викликом блокнота ++ від gitbash навіть після встановлення його як мого core.editor.

Я все вирішив, додавши нижній рядок до мого .bashrc-файлу в моєму каталозі установки gitbash.

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

тож я можу викликати блокнот ++ з псевдонімом "npp". я вважаю, що це може допомогти вам, якщо ви зміните каталог на відповідний редактор, який ви хочете використовувати.


1

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

Спочатку перевірте .gitconfig файл за допомогою команди:

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

Тепер можна додати цю конфігурацію:

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

Де l1розповімо, щоб почати з першого рядка.


0

Для Windows 7 я виявив, що таке рішення працює:

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

0

У Windows, якщо ви встановлюєте git, ви можете вибрати інший редактор і надати наступний командний рядок. C: \ Програмні файли \ Sublime_ Text 3 \ sublime_text.exe -w Зображення інсталятора


0

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


0

На MacOS (Mojave) нижче працює для мене Sublime 3 :

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.