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

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

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

Ответ 1

Если вы хотите установить редактор только для 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 и EDITOR.


Для Sublime Text: Добавьте это в .gitconfig. --wait важен. (он позволяет печатать текст в возвышенном виде и будет ждать события save/close.

[core]
    editor = 'subl' --wait

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

Ответ 2

Скопируйте это:

git config --global core.editor "vim"

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

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

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

Ответ 3

В 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: 

Ответ 4

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

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

Sublime не смог сохранить фокус.

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

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

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

Ответ 5

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

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

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • Сохраните и закройте файл.
  • Когда вы совершаете связь с git, просто напишите git commit и нажмите Enter. Он откроет Notepad ++.
  • Напишите сообщение о фиксации в верхней части файла и сохраните и закройте файл. Готово!

Ответ 6

Сделать код Visual Studio (vscode) вашим стандартным git редактором

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

Ответ 7

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

git config --global core.editor "pico"

или

export VISUAL=pico
export EDITOR=pico

Ответ 8

Установка Sublime Text 2 как Git commit editor в Mac OSX 10

Запустите эту команду:

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

Или просто:

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

Ответ 9

Atom как ваш редактор git

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

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

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

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

Ответ 10

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

git config --global core.editor notepad.exe

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

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

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

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

Ответ 11

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

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

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

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

Notepad++:
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, где your-user-name - это ваше имя для входа.
Из командной строки вы можете попасть в этот каталог, набрав cd ~.

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

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

Ответ 12

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

.emacs:

(server-start)

shellrc:

export EDITOR=emacsclient

Ответ 13

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

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

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


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

Откройте Sublime Text и перейдите в "Файл" → "Новое окно", чтобы создать новый анонимный проект. Перейдите в "Проект" → "Сохранить проект как..." и выберите место для его сохранения. В Linux я сохранил его в домашнем каталоге Linux с именем файла .gitconfig.sublime-project. Следовательно, это путь: ~/.gitconfig.sublime-project. В Windows также сохраните его в своем домашнем каталоге, например: C:\Users\MY_USER_NAME\.gitconfig.sublime-project Теперь перейдите в "Project" → "Edit 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.

За @digitaldreamer ответ выше (fooobar.com/questions/718/...), " subl можно заменить на полный путь к исполняемому файлу, но [псевдоним subl ], как правило, доступны, когда [возвышенное] установлен правильно. "

Для Windows:

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

(ДОПОЛНИТЕЛЬНО: создайте псевдоним subl для использования в Git BASH):

Откройте текстовый редактор (например: Блокнот, Notepad++, 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. Этот шаг не требуется, но он полезен для общего использования Git BASH. Теперь вы можете вызвать subl. , например, в Git BASH, чтобы открыть новый Sublime Project в вашем текущем каталоге.

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

Измените файл .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. Обратите внимание на направление косых черт! Используйте / NOT \ чтобы отделить папки от имени пути! (Спасибо VonC за то, что помогли мне это увидеть).
  • Наш псевдоним subl который мы сделали для Git BASH выше, здесь не работает, поэтому вы не можете использовать его, как в примере Linux, вместо этого вы должны указать весь путь, как показано выше.
  • Символ ~, однако, все еще работает здесь, чтобы попасть в ваш домашний каталог Windows.

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

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

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

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


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

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

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

Готово!

Ответ 14

Mvim как ваш редактор git

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

git config --global core.editor "mvim --remote-wait"

Ответ 15

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

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

Это не безупречное решение, так как оно не обрабатывает интерактивную перезагрузку (например). Усовершенствования очень приветствуются!

Ответ 16

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

Или вы можете настроить EDITOR на vim на export EDITOR=vim в вашем bashrc.

Ответ 17

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

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

Кроме того, убедитесь, что ваш "TextWrangler > Preferences > Application > When TextWrangler активируется:" для параметра установлено значение "Ничего не делать"

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

Пояснение:

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

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

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

Подробнее см. man open в приложении Mac Terminal.

Ответ 18

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

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

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

Рекомендации

Ответ 19

Для Mac OSX используется TextEdit или естественный редактор среды для текста

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

Ответ 20

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

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

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

Ответ 21

для пользователей mc: git config --global core.editor "mc

Ответ 22

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

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

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

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

git config --global core.editor ~/k.sh