Как мне заставить Git использовать выбранный мной редактор для коммитов?

Я бы предпочел писать сообщения коммитов в Vim, но он открывает их в Emacs.

Как мне настроить Git на постоянное использование Vim? Обратите внимание, что я хочу сделать это глобально, а не только для одного проекта.


person brasskazoo    schedule 08.04.2010    source источник
comment
Как заставить git перейти в vim для комментариев коммита из git-go?   -  person Michael Burr    schedule 08.04.2010
comment
Связанные (возможный дубликат): Как настроить редактор для работы с Git в Windows?   -  person Stevoisiak    schedule 17.08.2017
comment
Что не так с EMACS (улыбается)?   -  person Shawn Eary    schedule 01.07.2021


Ответы (29)


Если вы хотите установить редактор только для Git, сделайте одно (вам не нужны оба):

  • Установите core.editor в конфигурации Git: git config --global core.editor "vim"
  • Задайте переменную среды GIT_EDITOR: export GIT_EDITOR=vim

Если вы хотите установить редактор для Git , а также для других программ, установите стандартные переменные среды VISUAL и EDITOR *:

export VISUAL=vim
export EDITOR="$VISUAL"

* Установка обоих параметров не обязательно, но некоторые программы могут не использовать более правильный VISUAL. См. VISUAL vs. EDITOR.


Некоторым редакторам требуется флаг --wait, иначе они откроют пустую страницу. Например:

person digitaldreamer    schedule 08.04.2010
comment
Переменная среды EDITOR имеет то преимущество, что ряд других программ также будет ее уважать. - person Boojum; 08.04.2010
comment
Обратите внимание, что git config --global будет записывать в ваш личный (для каждого пользователя) файл конфигурации git. В Unices это ~/.gitconfig. Таким образом, это настроит его для всех ваших репозиториев. - person Jakub Narębski; 08.04.2010
comment
вы можете проверить, успешно ли изменили его, попытавшись исправить последнее сообщение фиксации. git commit --amend - person Marco M.; 27.08.2012
comment
Если вы используете вариант №1 в Windows и в пути к редактору есть пробелы (скажем, если он находится в разделе Program Files), то используйте одинарные кавычки внутри двойных кавычек. например «C: / Program Files (x86) /Whatever/App.exe» - очевидно для некоторых, но не для меня! - person Pablissimo; 31.10.2013
comment
Вы должны изменить свой ответ на git config --global core.editor vim -w, чтобы фактически позволить пользователю писать сообщение о фиксации. - person Abramodj; 02.04.2014
comment
@Abramodj -w не нужен; -w {scriptout} сохраняет все символы, которые вы вводите при редактировании, для последующего воспроизведения. Возможно, вы путаете его с -f, который необходим при вызове версии Vim с графическим интерфейсом пользователя. То есть, если вы используете mvim, тогда указанный вами редактор должен быть mvim -f, а не mvim. - person Rory O'Kane; 13.10.2014
comment
@ RoryO'Kane, спасибо за подсказку -f для mvim (т.е. macvim)! И -w, и -W у меня работали некорректно. С -w я получил Aborting commit due to empty commit message., а -W открыл окно приветствия vim. - person 7stud; 05.10.2015
comment
Если у вас установлены и core.editor, и GIT_EDITOR, будет использоваться GIT_EDITOR. Это удобно для установки по умолчанию через git config и при необходимости переопределения конфигурации для отдельных команд. Например, мне просто нужно $ GIT_EDITOR=nano git rebase -i origin/master, потому что мой X не был доступен для использования моим обычным редактором. - person Mikko Rantalainen; 12.01.2017
comment
для возвышенного текста 3: git config --global core.editor "subl -n -w" ~ - person yaitloutou; 31.01.2017
comment
Для пользователей Windows вы можете использовать Блокнот с git config --global core.editor "notepad" - person Stevoisiak; 17.08.2017
comment
ПРОБЛЕМА: На Mac, настроенном с помощью core.editor = mvim --nofork --remote-wait, я обнаружил, что если у меня открыты ДРУГИЕ окна vim, не связанные с обновлением / сеансом git, --remote-wait требует ВСЕ они должны быть закрыты до того, как git распознает сеанс редактора как завершенный. Необходимо сделать так, чтобы параметр --remote-wait применялся ТОЛЬКО к единому окну, запущенному для этого сеанса редактора git. Какие-либо предложения? - person Andrew Ward; 30.10.2017
comment
Я только что опубликовал более подробный ответ Sublime Text здесь: stackoverflow.com/a/48212377/4561887. Спасибо за ваш ответ, с которого я начал! - person Gabriel Staples; 11.01.2018
comment
Если у вас возникла проблема с настройкой Sublime (или любого установленного редактора, на самом деле), часто предоставление полного пути устраняет проблему: git config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait" - person KayakinKoder; 04.07.2018
comment
Лучше всего установить $EDITOR на vim -e, чтобы быть педантично безопасным. - person Tom Hale; 27.08.2020

Скопируйте и вставьте это:

git config --global core.editor "vim"

Если вы хотите знать, что делаете. От man git-commit:

ОКРУЖАЮЩАЯ СРЕДА И КОНФИГУРАЦИОННЫЕ ПЕРЕМЕННЫЕ

Редактор, используемый для редактирования сообщения журнала фиксации, будет выбран из переменной среды GIT_EDITOR, переменной конфигурации core.editor, переменной среды VISUAL или переменной среды EDITOR (в указанном порядке).

person Mark Rushakoff    schedule 08.04.2010
comment
Кстати, вышесказанное верно для CVS и SVN, и я предполагаю, что другие элементы управления версиями. - person armandino; 08.04.2010
comment
@armandino: Да, другие могут использовать VISUAL или EDITOR, но они определенно не используют GIT_EDITOR или core.editor. - person Mark Rushakoff; 08.04.2010
comment
Спасибо за разъяснение, Марк. Я имел в виду переменную EDITOR. Я считаю, что GIT_EDITOR (если он определен) просто переопределяет его. - person armandino; 08.04.2010
comment
Ага - svnbook.red- bean.com/en/1.1/ch07.html#svn-ch-7-sect-1.3.2 Итак, теоретически, если я использую и svn, и git, установка $ VISUAL или $ EDITOR будет лучшее решение, чтобы охватить оба варианта по умолчанию! - person brasskazoo; 08.04.2010
comment
Для полноты картины core.editor означает [core] editor = ... в файле - person JRG; 09.08.2011
comment
Из Pro Git: по умолчанию Git использует все вы установили текстовый редактор по умолчанию ($ VISUAL или $ EDITOR), иначе вы можете вернуться к редактору vi, чтобы создать и отредактировать сообщения фиксации и теги. Разве этот порядок не отменяет то, что вы цитируете в man git-commit? - person Nick Volynkin; 23.07.2015

В Ubuntu и Debian (спасибо @MichielB) изменить редактор по умолчанию также можно, запустив:

sudo update-alternatives --config editor

Что подскажет следующее:

There are 4 choices for the alternative editor (providing /usr/bin/editor).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /bin/nano            40        auto mode
  1            /bin/ed             -100       manual mode
  2            /bin/nano            40        manual mode
* 3            /usr/bin/vim.basic   30        manual mode
  4            /usr/bin/vim.tiny    10        manual mode

Press enter to keep the current choice[*], or type selection number: 
person Koen.    schedule 27.10.2012
comment
В Debian это тоже работает, спасибо! По умолчанию pico - argh. - person MichielB; 29.03.2013
comment
Конечно, это работает в Debian; это функция Debian, которую, как и большинство вещей (ох, спорно!), Ubuntu просто наследует. Система Debian alternatives - намного более простой способ управлять значениями по умолчанию для поддерживаемых типов программ. Для справки: debian-administration.org/article/91/ - person underscore_d; 22.01.2016
comment
Работает, а GIT_EDITOR и EDITOR не работают --ubuntu - person Ninja; 13.09.2016
comment
@haziz: В моей системе одним из перечисленных вариантов является Emacs (другие включают различные версии Vim, а также nano и ed). - person Dennis Williamson; 11.01.2017
comment
@haziz update-alternatives покажет все установленные редакторы. У Коэна просто не установлен Emacs. - person Major; 09.08.2018
comment
Когда я устанавливаю vim-gtk3 на свой Ununtu 16.04 (и я подозреваю, что 18.04), значение по умолчанию автоматически переключается на vim, до тех пор у меня nano по умолчанию. Поэтому я думаю, что может быть поэтому некоторым людям никогда не нужно запускать эту команду, и она работает так, как ожидалось. - person Alexis Wilke; 31.10.2019
comment
Работает в * buntu18.04LTS - person EA304GT; 09.01.2020

В Windows 7 при добавлении редактора Sublime он все еще выдавал ошибку:

Прерывание фиксации из-за пустого сообщения фиксации.

Sublime не смог удержать фокус.

Чтобы исправить это, я открыл файл .gitconfig в папке c: / users / username / и добавил следующую строку с параметром --wait вне одинарных кавычек.

[core]
      editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait

Надеюсь, это поможет кому-то, кто столкнется с аналогичной проблемой с Sublime.

person Anmol Saraf    schedule 21.02.2013
comment
Отлично! Спасибо, Анмол, у меня возникла проблема, когда он фиксировал пустое сообщение. - person ddavison; 11.10.2013
comment
Почему вы хотите использовать возвышенное для коммитов git? - person Adam F; 02.05.2014
comment
Любой редактор для git commit в основном будет использоваться для добавления нескольких строк комментариев, а Sublime - выбор программистов по разным причинам для многих разработчиков. Обычно люди склонны использовать один редактор для большей части кодирования и других работ. Sublime - это просто личный выбор, это может быть любой редактор. - person Anmol Saraf; 02.05.2014
comment
Вместо редактирования gitconfig вручную вы можете использовать эту команду git config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait" - person KayakinKoder; 04.07.2018

В Windows 7 установка редактора на Notepad ++

  • Откройте любой текстовый редактор.
  • Откройте этот файл: C:\Users\YOUR_USERNAME\.gitconfig
  • Добавьте этот раздел внизу:

Для 64-битного Notepad ++ используйте:

[core]
    editor = 'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar

Для 32-битного Notepad ++ используйте:

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar
  • Сохраните и закройте файл.
  • Когда вы делаете коммит с помощью git, просто напишите git commit и нажмите Enter. Откроется Notepad ++.
  • Напишите сообщение о фиксации в верхней части файла, сохраните и закройте файл. Выполнено!
person Ryan    schedule 07.03.2013
comment
наконец то кто умеет писать просто! Спасибо. Но вы должны упомянуть, что в пути к блокноту необходимо использовать '/' или двойную обратную косую черту '\\', иначе git будет жаловаться ... - person icl7126; 19.04.2013
comment
Возможно, вам потребуется добавить как минимум -multiInst в качестве параметра в блокнот ++ и, возможно, -notabbar. Сделайте это, если кажется, что git не знает, когда вы закончили редактировать файл, и либо ждет, либо не ждет. - person ErikE; 06.09.2013
comment
чтобы установить конфигурацию в командной строке, мне нужны двойные кавычки внутри одинарных кавычек, например >git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"' - person Josef; 28.04.2015
comment
по-прежнему открывает для меня обычный блокнот - person Manza; 12.04.2016
comment
@ErikE: Спасибо, чувак! Оба -multiInst и -notabbar были необходимы. Последние несколько часов это было проблемой. - person Technext; 03.08.2016
comment
Чтобы добавить параметры Notepadd ++, мне пришлось сделать следующее: editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar - то есть параметры вне ограничивающих одинарных кавычек - person cropredy; 25.01.2017
comment
без кавычек вам потребуется много экранирования: [core] editor = c: / Program \\ Files \\ \ (x86 \) / Vim / vim81 / vim.exe - person XPlatformer; 03.06.2019

Чтобы сделать код Visual Studio (vscode) вашим редактором git по умолчанию

git config --global core.editor "code --wait"
person Marcelo Mason    schedule 28.06.2016

И если вы работаете с дизайнерами, используя командную строку, тогда Пико и не знаете сокращений;)

git config --global core.editor "pico"

Or

export VISUAL=pico
export EDITOR=pico
person tristanbailey    schedule 27.06.2012

Атом как ваш редактор git

git config --global core.editor "atom --wait"

Atom необходимо настроить для запуска из командной строки, чтобы все вышеперечисленное работало:

OS X: установите команды оболочки из Atom: строка меню ›Atom› Установить команды оболочки

Windows: никаких действий не требуется - по умолчанию Atom настроен на запуск из командной строки.

person 2Toad    schedule 13.07.2015
comment
Пользователи VSCode: git config --global core.editor "code --wait" - person Bar Horing Amir; 01.11.2020

Установка Sublime Text 2 в качестве редактора фиксации Git в Mac OSX 10

Выполните эту команду:

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

Или просто:

$ git config --global core.editor "subl -w"
person Mohsen    schedule 01.03.2013
comment
Как-то он не доставляет текст в git. Я получил сообщение «Прерывание фиксации из-за пустого сообщения фиксации». ошибка. - person Mahendran; 20.08.2015
comment
Я использовал первую команду для настройки SL. cmd + S, затем cmd + W, чтобы закрыть редактор - person Mahendran; 20.08.2015
comment
Visual Studio Code также поддерживает параметр -w. Например. $ git config --global core.editor "code -w". Аккуратные штучки - person Automatico; 28.08.2017
comment
Альтернативный ответ здесь: stackoverflow.com/a/48212377/4561887, на примере Linux. - person Gabriel Staples; 11.01.2018

Чтобы сделать vim редактором по умолчанию для git в ubuntu 20:04, выполните следующую команду:

git config --global core.editor vim
person Hamfri    schedule 19.05.2020

Windows: установка блокнота в качестве редактора сообщений фиксации по умолчанию

git config --global core.editor notepad.exe

Нажмите Ctrl + S, чтобы сохранить сообщение о фиксации. Чтобы отказаться, просто закройте окно блокнота без сохранения.

Если вы нажали ярлык для сохранения, а затем решили прервать операцию, перейдите в меню «Файл»> «Сохранить как» и в открывшемся диалоговом окне измените «Тип файла» на «Все файлы (*. *)». Вы увидите файл с именем «COMMIT_EDITMSG». Удалите его и закройте окно блокнота.

Изменить. Или, что проще, удалите все содержимое из открытого окна блокнота и нажмите "Сохранить". (спасибо mwfearnley за комментарий!)

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

person Sнаđошƒаӽ    schedule 13.04.2016
comment
Вместо того, чтобы переходить в меню «Файл» ›Сохранить как, вы можете очистить файл (или закомментировать любые непустые строки), и тогда Git прекратит работу из-за пустого сообщения о фиксации. - person mwfearnley; 04.05.2016
comment
лучше добавить строку, подобную этой core.editor = 'notepad' .git/COMMIT_EDITMSG --wait, чтобы она открылась и сохранила сообщение редактирования по умолчанию, и вам не нужно сохранять как - person Radon8472; 07.02.2018

Это дает ответ для людей, которые приходят к этому вопросу, которые могут захотеть связать редактор, отличный от vim.

Связанный ресурс, созданный Github, вероятно, будет постоянно обновляться при обновлении редакторов, даже если ответы на SO (включая этот) не обновляются.

Связывание текстовых редакторов с git

Сообщение Github показывает, что именно вводить в командную строку для различных редакторов, включая параметры / флаги, специфичные для каждого редактора, чтобы он лучше всего работал с git.

Блокнот ++:
git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

Превосходный текст:
git config --global core.editor "'c:/Program Files/sublime text 3/subl.exe' -w"

Атом:
git config --global core.editor "atom --wait"

Приведенные выше команды предполагают, что ваш редактор был установлен в каталоге по умолчанию для компьютера с Windows.

Команды в основном добавляют текст между двойными кавычками к .gitconfig в вашем домашнем каталоге.
На компьютере с Windows домашний адрес, вероятно, будет C:\Users\your-user-name, где ваше-имя-пользователя - ваше имя для входа.
Из командной строки, вы можете перейти в этот каталог, набрав cd ~.

например, приведенная выше команда добавит в раздел [core] следующую строку, например:
[core] editor = 'C:/Program Files/sublime text 3/subl.exe' -w

Если у вас другой редактор, просто замените его на путь к вашему редактору, используя любой из указанных выше методов. (и надеюсь, что для оптимального использования не нужны флаги.)

person SherylHohman    schedule 23.12.2018
comment
Спасибо, я боролся с тем, что просто vim запустил внутренний экземпляр vim для Git (без моих предпочтений и т. Д.). Предоставление полного пути к моему экземпляру решило проблему! - person benichka; 25.07.2019

Для пользователей emacs

.emacs:

(server-start)

shellrc:

export EDITOR=emacsclient
person Bendlas    schedule 08.04.2010
comment
Вот как установить emacs в режим терминала при выполнении git config --global core.editor "emacs -nw" - person kukinsula; 28.04.2016
comment
Я использую git config --global core.editor "emacs -nw -q", где -q пропускает файлы инициализации. - person miguelmorin; 01.11.2018

Лучшие настройки для Sublime Text 3 в качестве редактора Git (инструкции для Windows и Linux):

Чтобы следовать этим инструкциям в Windows, убедитесь, что вы установили Git для Windows. В Windows мне нравится использовать Git Bash, чтобы он больше походил на Linux.

Во-первых, мы хотим создать специальный проект Sublime Text, чтобы мы могли указать специальные настройки проекта, которые мы хотим устанавливать всякий раз, когда Git вызывает редактор, чтобы упростить работу при редактировании в Git. Например, в большинстве проектов я обычно устанавливаю свою линейку на 120 символов, но для сообщений фиксации Git я хочу, чтобы она была 72 символа, чтобы она хорошо вписывалась в терминал, когда вы вызываете git log или _ 2_.


1. Создайте проект Sublime Text с настройками, которые мы хотим использовать для редактирования сообщений коммитов Git.

Откройте Sublime Text и перейдите в меню ФайлНовое окно, чтобы создать новый анонимный проект. Перейдите в меню ПроектСохранить проект как ... и выберите место для его сохранения. В Linux я сохранил его в своем домашнем каталоге Linux под именем .gitconfig.sublime-project. Следовательно, его путь: ~/.gitconfig.sublime-project. В Windows также сохраните его в своем домашнем каталоге, например: C:\Users\MY_USER_NAME\.gitconfig.sublime-project Теперь перейдите в меню ПроектРедактировать проект, чтобы изменить настройки проекта. Вставьте следующее и сохраните настройки. При желании внесите дополнительные изменения в настройки вашего проекта.

{
    // For folder settings help see here: https://www.sublimetext.com/docs/3/projects.html

    "folders":
    [

    ],

    "settings":
    {

        // Disables horizontal scrolling if enabled.
        // May be set to true, false, or "auto", where it will be disabled for
        // source code, and otherwise enabled.
        "word_wrap": false,

        // Set to a value other than 0 to force wrapping at that column rather than the
        // window width
        "wrap_width": 0,

        // Columns in which to display vertical rulers
        "rulers": [72, 50], //72 is recommended by git for commit message content, and 50 for commit titles

        // The number of spaces a tab is considered equal to
        "tab_size": 4,

        // Set to true to insert spaces when tab is pressed
        "translate_tabs_to_spaces": true,
    },

    "build_systems":
    [

    ]

}

2. Настройте редактор, который будет использовать Git.

Теперь нам нужно настроить редактор, который будет использоваться Git, отредактировав файл .gitconfig.

Для Linux:

Ваша пользовательская копия будет находиться в ~/.gitconfig. Откройте этот файл и добавьте следующие строки. Обязательно используйте правильный путь к проекту Git, который вы только что создали выше! Я использую ~/.gitconfig.sublime-project.

[core]
    editor = subl --project ~/.gitconfig.sublime-project --wait

--wait важен, так как заставляет Git ждать, пока вы не закроете файл, прежде чем продолжить. Строка --project важна для указания Sublime Text, какой проект вы хотите открывать всякий раз, когда Git открывает Sublime Text.

Согласно ответу @digitaldreamer выше (https://stackoverflow.com/a/2596835/4561887) subl можно заменить на полный путь к исполняемому файлу, но [псевдоним subl] обычно доступен, если [Sublime] правильно установлен.

Для Windows:

Для Windows сначала прочтите инструкции Linux для получения справочной информации. Теперь сделаем что-то почти идентичное.

(НЕОБЯЗАТЕЛЬНО: создайте subl псевдоним для использования в Git Bash):

Откройте текстовый редактор (например, Блокнот, Блокнот ++, Sublime Text, Geany и т. Д. ) и создайте файл с именем .bash_profile в своем домашнем каталоге. Следовательно, его путь будет: C:\Users\MY_USER_NAME\.bash_profile. Сохраните в нем следующее:

alias subl="/c/Program\ Files/Sublime\ Text\ 3/subl.exe"

Это создает псевдоним Git Bash с именем subl, который мы теперь можем использовать в Git Bash для Windows, чтобы легко открывать Sublime Text. Этот шаг не требуется, но он полезен для общего использования Git Bash. Теперь вы можете вызвать subl ., например, в Git Bash, чтобы открыть новый проект Sublime Text в вашем текущем каталоге.

(ОБЯЗАТЕЛЬНО):

Отредактируйте .gitconfig файл, находящийся в вашем домашнем каталоге: C:\Users\MY_USER_NAME\.gitconfig, добавив к нему следующее. Обратите внимание на небольшие изменения в приведенных выше инструкциях для Linux:

[core]
  editor = 'C:/Program Files/Sublime Text 3/subl.exe' --project ~/.gitconfig.sublime-project --wait
  • Обратите внимание, что вы должны указать полный путь к исполняемому файлу Sublime Text. Обратите внимание на направление косой черты! Используйте / НЕ \ для разделения папок в имени пути! (Спасибо VonC за то, что помогли мне это увидеть).
  • Наш subl псевдоним, который мы создали для Git Bash выше, здесь не работает, поэтому вы не можете использовать его, как мы сделали в примере с Linux, вместо этого вы должны указать весь путь, как показано выше.
  • Однако символ ~ все еще работает здесь, чтобы попасть в домашний каталог Windows.

2.5. (Необязательно) Установите пакет Git в Sublime Text 3.

Это дает вам подсветку синтаксиса для сообщений git commit, а также доступ к другим командам Git, таким как git blame (которые я часто использую в Sublime Text) или git commit (которые я не использую в Sublime Text, так как я бы предпочел командную строку для общего потока Git, как я уже упоминал в своих комментариях под этим ответом).

Чтобы установить пакет: Сначала убедитесь, что установлен «Package Control». Затем нажмите Ctrl + Shift + P (так же, как Инструменты → Палитра команд) и введите полностью или частично «Управление пакетом: Установить пакет». , затем нажмите Enter. В появившемся окне поиска найдите пакет Git и нажмите Enter на нем или щелкните по нему, чтобы установить его автоматически.

После установки Ctrl + Shift + P, поиск git вызовет команды Git, которые вы теперь можете использовать внутри Sublime Text, например git blame .


3. Используйте это

Теперь, когда вы вызываете git commit, например, как обычно, из командной строки, Sublime Text откроется в .gitconfig.sublime-project, который мы создали выше, с настройками этого проекта! Когда вы набираете абзац, вы заметите, что он выходит за пределы установленной нами линейки, поскольку мягкий перенос слов отключен. Чтобы принудительно выполнить жесткий перенос с помощью автоматически вставленных жестких возвратов в конце каждой строки, поместите курсор на длинную строку, которую вы хотите автоматически перенести, и нажмите Alt + Q . Теперь он будет жестко упакован / сложен на 72 символа, что мы установили в параметре rulers в настройках проекта выше.

Теперь сохраните сообщение фиксации с помощью Ctrl + S и выйдите (чтобы завершить git commit) с помощью Ctrl + Shift + W.

Выполнено!

Связанный:

  1. Git mergetool с Meld в Windows
  2. https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles
person Gabriel Staples    schedule 11.01.2018
comment
Это выглядит довольно подробно. +1 - person VonC; 03.02.2018
comment
В Sublime Text 3 теперь есть тип синтаксиса Git Commit. Теперь вы можете пропустить этап проекта настраиваемого возвышенного текста. - person yegeniy; 03.04.2018
comment
Я не согласен: это только подсветка синтаксиса. Мой собственный проект не затрагивает выделение синтаксиса: он устанавливает линейки и дает контекст для открытия ваших коммитов git, чтобы они не открывались в любом проекте, который у вас есть или который был открыт последним. Эти два не связаны; сделай и то, и другое. - person Gabriel Staples; 03.04.2018
comment
Я только что добавил шаг 2.5, НО (немного, но здесь): я не всегда использую Sublime Text 3 в качестве своего редактора (иногда я использую Eclipse, поскольку он имеет намного лучшее отслеживание символов и индексирование, чем Sublime, хотя в остальном это дерьмовый редактор по сравнению с Sublime), и я действительно предпочитаю использовать Git из командной строки, поэтому я определенно не рекомендую пропускать шаг 1, даже если вы устанавливаете пакет Git в Sublime, как я только что описал в шаге 2.5. Да, вы можете делать Git Commits прямо из Sublime, но я бы предпочел командную строку. - person Gabriel Staples; 03.04.2018
comment
СОВЕТ: Если вы используете sublime с git, а также trim_trailing_white_space_on_save, вы хотите добавить псевдоним для добавления патча, потому что удаление конечного пробела нарушает редактирование патча, где это очень важно. Этого можно добиться примерно так: git config --global alias.patch "-c core.editor=vim add --patch" - person Timo; 24.08.2018

Mvim в качестве редактора git

Как и все другие приложения с графическим интерфейсом, вы должны запускать mvim с флагом ожидания.

git config --global core.editor "mvim --remote-wait"
person Matteo Rolla    schedule 12.08.2015
comment
--remote-wait-silent, чтобы избежать неприятного сообщения об ошибке :) - person Shinigami; 26.06.2016

Для пользователей Windows, которые хотят использовать neovim с подсистемой Windows для Linux:

git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"

Это не надежное решение, так как оно не поддерживает интерактивное перемещение (например). Улучшения приветствуются!

person brcolow    schedule 06.12.2016

В Mac OS X с помощью TextEdit или редактора естественной среды для текста:

git config --global core.editor "open -W -n"
person Reimond Hill    schedule 10.09.2019

Просто потому, что я пришел сюда в поисках одноразового решения (в моем случае я обычно использую vim, но в этот раз я хотел использовать VS Code) для одной команды, и другие тоже могут захотеть узнать:

GIT_EDITOR='code -w' git rebase -i …

Вот моя версия git / hub только для контекста:

git version 2.24.2 (Apple Git-127)
hub version 2.14.1
person Ben Saufley    schedule 15.05.2020

есть список команд, которые вы можете использовать, но для кода vs используйте это

 git config --global core.editor "code --wait"

это ссылка для всех редакторов: https://git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config

person bigtheo    schedule 12.02.2021

Просто попробуйте EDITOR=vim git commit.

Или вы можете установить РЕДАКТОР на vim от export EDITOR=vim в вашем bashrc.

person Xiao Hanyu    schedule 01.07.2013

Для пользователей TextWrangler из магазина приложений Mac:

git config --global core.editor "open -n -W -a TextWrangler"

Кроме того, убедитесь, что для параметра «TextWrangler> Настройки> Приложение> Когда TextWrangler становится активным:» установлено значение «Ничего не делать».

У меня это работает в OS X 10.11.4 с TextWrangler 5.0.2 из магазина приложений Mac.

Объяснение:

-n означает открыть в новом экземпляре.

-W означает дождаться завершения работы приложения, прежде чем использовать содержимое отредактированного файла в качестве сообщения фиксации.

-a TextWrangler означает использование приложения TextWrangler для открытия файла.

См. man open в приложении Mac Terminal для получения дополнительных сведений.

person DLRdave    schedule 15.04.2016
comment
Если TextWrangler уже открыт, ваше решение откроет другой экземпляр с тем же набором файлов, что и первый. Это кажется опасным. - person Klaas; 07.10.2016
comment
Я установил инструменты командной строки TextWrangler (barebones.com/support/textwrangler /cmd-line-tools.html), а затем использовал git config --global core.editor "edit -w". Это откроет сообщение фиксации в текущем экземпляре, и как только вы закроете только этот документ сообщения фиксации, фиксация будет продолжена. - person Klaas; 07.10.2016

При использовании git-review мне пришлось изменить значение sequence.editor, чтобы иметь возможность выполнять интерактивную перебазировку (git rebase -i -p):

git config --global sequence.editor "gvim"  # or whatever your prefer

gvim требуется: apt install vim-gtk

использованная литература

person Édouard Lopez    schedule 26.01.2019

В бета-версии macOS Big Sur (11.0) для TextMate: ни один из параметров переменной среды не работал. (Установите все три: GIT_EDITOR, VISUAL и EDITOR.)

Наконец, установите глобальный редактор core.editor в git, и это сработало:
git config --global core.editor "~/bin/mate -w"

person leanne    schedule 14.08.2020

Для Windows, Neovim:

# .gitconfig

[core]
    editor='C:/tools/neovim/Neovim/bin/nvim-qt.exe'
person Carson    schedule 29.10.2020

Для пользователей IntelliJ

Когда я пытался git rebase, я получал следующую ошибку: 'подсказка: ожидание, пока ваш редактор закроет файл ... code -n -w: code: command not found error: Возникла проблема с кодом редактора -n -w '.'

Та же ошибка обнаружилась, когда я пытался связать IntelliJ с Git:  введите описание изображения здесь

Проблема заключалась в том, что у меня не было команды code, добавленной в переменную PATH моей среды. И я не хотел использовать Visual Studio Code со своего терминала. Вот почему он запросил «команда не найдена». Я решил это, удалив

редактор = код -n -w

из основного раздела моего файла .gitconfig. Git снова работал нормально.

person Petra    schedule 03.04.2020

Для пользователей EmEditor

Чтобы установить EmEditor в качестве текстового редактора по умолчанию для Git, откройте Git Bash и введите:

git config --global core.editor "emeditor.exe -sp"

Требуется EmEditor v19.9.2 или новее.

person Yutaka    schedule 23.06.2020

Для MAC, BBEdit:

Сначала откройте BBEdit, щелкните логотип BBEdit и выберите «Установить инструменты командной строки».

Затем из командной строки

git config --global core.editor "BBEdit -w"
person saulspatz    schedule 03.12.2020

Для пользователей Textmate

Это откроет редактор Textmate, если вы захотите отредактировать свои коммиты. Требуется установка инструментов командной строки textmate.

git config --global core.editor "mate -w"

person Matej    schedule 29.10.2013
comment
@givanse, что ты имеешь в виду? - person Matej; 08.01.2014
comment
Я думаю, он имеет в виду, что это тривиально по аналогии с ответом vim? - person Rup; 09.01.2014
comment
хм, нет, но если вы используете что-то еще, кроме vim (например, textmate). - person Matej; 09.01.2014
comment
У textmate также есть опция ожидания, поэтому для меня это: git config --global core.editor "/usr/local/bin/mate -w" - person trungly; 10.07.2015

Для пользователей Windows, которые хотят использовать текстовый редактор Kinesics

Создайте файл с именем 'k.sh', добавьте следующий текст и поместите в свой домашний каталог (~):

winpty "C:\Program Files (x86)\Kinesics Text Editor\x64\k.exe" $1

В приглашении git введите:

git config --global core.editor ~/k.sh
person Mike Cheel    schedule 01.06.2016