Как сделать 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