Я бы предпочел писать сообщения коммитов в Vim, но он открывает их в Emacs.
Как мне настроить Git на постоянное использование Vim? Обратите внимание, что я хочу сделать это глобально, а не только для одного проекта.
Я бы предпочел писать сообщения коммитов в Vim, но он открывает их в Emacs.
Как мне настроить Git на постоянное использование Vim? Обратите внимание, что я хочу сделать это глобально, а не только для одного проекта.
Если вы хотите установить редактор только для 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
, иначе они откроют пустую страницу. Например:
Sublime Text (если настроен правильно; или используйте полный путь к исполняемому файлу вместо subl
):
export VISUAL="subl --wait"
Код VS (после добавления команда оболочки):
export VISUAL="code --wait"
git config --global
будет записывать в ваш личный (для каждого пользователя) файл конфигурации git. В Unices это ~/.gitconfig
. Таким образом, это настроит его для всех ваших репозиториев.
- person Jakub Narębski; 08.04.2010
git commit --amend
- person Marco M.; 27.08.2012
-w
не нужен; -w {scriptout}
сохраняет все символы, которые вы вводите при редактировании, для последующего воспроизведения. Возможно, вы путаете его с -f
, который необходим при вызове версии Vim с графическим интерфейсом пользователя. То есть, если вы используете mvim
, тогда указанный вами редактор должен быть mvim -f
, а не mvim
.
- person Rory O'Kane; 13.10.2014
macvim
)! И -w, и -W у меня работали некорректно. С -w я получил Aborting commit due to empty commit message.
, а -W открыл окно приветствия vim.
- person 7stud; 05.10.2015
core.editor
, и GIT_EDITOR
, будет использоваться GIT_EDITOR
. Это удобно для установки по умолчанию через git config и при необходимости переопределения конфигурации для отдельных команд. Например, мне просто нужно $ GIT_EDITOR=nano git rebase -i origin/master
, потому что мой X не был доступен для использования моим обычным редактором.
- person Mikko Rantalainen; 12.01.2017
git config --global core.editor "subl -n -w" ~
- person yaitloutou; 31.01.2017
git config --global core.editor "notepad"
- person Stevoisiak; 17.08.2017
git config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait"
- person KayakinKoder; 04.07.2018
$EDITOR
на vim -e
, чтобы быть педантично безопасным.
- person Tom Hale; 27.08.2020
Скопируйте и вставьте это:
git config --global core.editor "vim"
Если вы хотите знать, что делаете. От man git-commit
:
ОКРУЖАЮЩАЯ СРЕДА И КОНФИГУРАЦИОННЫЕ ПЕРЕМЕННЫЕ
Редактор, используемый для редактирования сообщения журнала фиксации, будет выбран из переменной среды
GIT_EDITOR
, переменной конфигурацииcore.editor
, переменной средыVISUAL
или переменной средыEDITOR
(в указанном порядке).
VISUAL
или EDITOR
, но они определенно не используют GIT_EDITOR
или core.editor
.
- person Mark Rushakoff; 08.04.2010
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:
alternatives
- намного более простой способ управлять значениями по умолчанию для поддерживаемых типов программ. Для справки: debian-administration.org/article/91/
- person underscore_d; 22.01.2016
GIT_EDITOR
и EDITOR
не работают --ubuntu
- person Ninja; 13.09.2016
update-alternatives
покажет все установленные редакторы. У Коэна просто не установлен Emacs.
- person Major; 09.08.2018
vim-gtk3
на свой Ununtu 16.04 (и я подозреваю, что 18.04), значение по умолчанию автоматически переключается на vim
, до тех пор у меня nano
по умолчанию. Поэтому я думаю, что может быть поэтому некоторым людям никогда не нужно запускать эту команду, и она работает так, как ожидалось.
- person Alexis Wilke; 31.10.2019
В Windows 7 при добавлении редактора Sublime он все еще выдавал ошибку:
Прерывание фиксации из-за пустого сообщения фиксации.
Sublime не смог удержать фокус.
Чтобы исправить это, я открыл файл .gitconfig в папке c: / users / username / и добавил следующую строку с параметром --wait вне одинарных кавычек.
[core]
editor = 'F:/Program Files/Sublime Text 2/sublime_text.exe' --wait
Надеюсь, это поможет кому-то, кто столкнется с аналогичной проблемой с Sublime.
git config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait"
- person KayakinKoder; 04.07.2018
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 commit
и нажмите Enter
. Откроется Notepad ++.-multiInst
в качестве параметра в блокнот ++ и, возможно, -notabbar
. Сделайте это, если кажется, что git не знает, когда вы закончили редактировать файл, и либо ждет, либо не ждет.
- person ErikE; 06.09.2013
>git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"'
- person Josef; 28.04.2015
-multiInst
и -notabbar
были необходимы. Последние несколько часов это было проблемой.
- person Technext; 03.08.2016
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar
- то есть параметры вне ограничивающих одинарных кавычек
- person cropredy; 25.01.2017
Чтобы сделать код Visual Studio (vscode) вашим редактором git по умолчанию
git config --global core.editor "code --wait"
И если вы работаете с дизайнерами, используя командную строку, тогда Пико и не знаете сокращений;)
git config --global core.editor "pico"
Or
export VISUAL=pico
export EDITOR=pico
git config --global core.editor "atom --wait"
Atom необходимо настроить для запуска из командной строки, чтобы все вышеперечисленное работало:
OS X: установите команды оболочки из Atom: строка меню ›Atom› Установить команды оболочки
Windows: никаких действий не требуется - по умолчанию Atom настроен на запуск из командной строки.
git config --global core.editor "code --wait"
- person Bar Horing Amir; 01.11.2020
Выполните эту команду:
$ git config --global core.editor "/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl"
Или просто:
$ git config --global core.editor "subl -w"
-w
. Например. $ git config --global core.editor "code -w"
. Аккуратные штучки
- person Automatico; 28.08.2017
Чтобы сделать vim редактором по умолчанию для git в ubuntu 20:04, выполните следующую команду:
git config --global core.editor vim
git config --global core.editor notepad.exe
Нажмите Ctrl + S, чтобы сохранить сообщение о фиксации. Чтобы отказаться, просто закройте окно блокнота без сохранения.
Если вы нажали ярлык для сохранения, а затем решили прервать операцию, перейдите в меню «Файл»> «Сохранить как» и в открывшемся диалоговом окне измените «Тип файла» на «Все файлы (*. *)». Вы увидите файл с именем «COMMIT_EDITMSG». Удалите его и закройте окно блокнота.
Изменить. Или, что проще, удалите все содержимое из открытого окна блокнота и нажмите "Сохранить". (спасибо mwfearnley за комментарий!)
Я думаю, что для небольших рецензий, таких как сообщения коммитов, лучше всего подходит блокнот, потому что он прост, есть с окнами, открывается в кратчайшие сроки. Даже вашему возвышенному может потребоваться секунда или две, чтобы загореться, когда у вас есть множество плагинов и прочего.
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
Если у вас другой редактор, просто замените его на путь к вашему редактору, используя любой из указанных выше методов. (и надеюсь, что для оптимального использования не нужны флаги.)
Для пользователей emacs
.emacs
:
(server-start)
shellrc
:
export EDITOR=emacsclient
git config --global core.editor "emacs -nw"
- person kukinsula; 28.04.2016
git config --global core.editor "emacs -nw -q"
, где -q
пропускает файлы инициализации.
- person miguelmorin; 01.11.2018
Чтобы следовать этим инструкциям в Windows, убедитесь, что вы установили Git для Windows. В Windows мне нравится использовать Git Bash, чтобы он больше походил на Linux.
Во-первых, мы хотим создать специальный проект Sublime Text, чтобы мы могли указать специальные настройки проекта, которые мы хотим устанавливать всякий раз, когда Git вызывает редактор, чтобы упростить работу при редактировании в Git. Например, в большинстве проектов я обычно устанавливаю свою линейку на 120 символов, но для сообщений фиксации Git я хочу, чтобы она была 72 символа, чтобы она хорошо вписывалась в терминал, когда вы вызываете git log
или _ 2_.
Откройте 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":
[
]
}
Теперь нам нужно настроить редактор, который будет использоваться Git, отредактировав файл .gitconfig
.
Ваша пользовательская копия будет находиться в ~/.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 сначала прочтите инструкции 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
/
НЕ \
для разделения папок в имени пути! (Спасибо VonC за то, что помогли мне это увидеть).subl
псевдоним, который мы создали для Git Bash выше, здесь не работает, поэтому вы не можете использовать его, как мы сделали в примере с Linux, вместо этого вы должны указать весь путь, как показано выше.~
все еще работает здесь, чтобы попасть в домашний каталог Windows.Это дает вам подсветку синтаксиса для сообщений 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
.
Теперь, когда вы вызываете git commit
, например, как обычно, из командной строки, Sublime Text откроется в .gitconfig.sublime-project
, который мы создали выше, с настройками этого проекта! Когда вы набираете абзац, вы заметите, что он выходит за пределы установленной нами линейки, поскольку мягкий перенос слов отключен. Чтобы принудительно выполнить жесткий перенос с помощью автоматически вставленных жестких возвратов в конце каждой строки, поместите курсор на длинную строку, которую вы хотите автоматически перенести, и нажмите Alt + Q kbd>. Теперь он будет жестко упакован / сложен на 72 символа, что мы установили в параметре rulers в настройках проекта выше.
Теперь сохраните сообщение фиксации с помощью Ctrl + S и выйдите (чтобы завершить git commit
) с помощью Ctrl + Shift kbd > + W.
Выполнено!
Git Commit
. Теперь вы можете пропустить этап проекта настраиваемого возвышенного текста.
- person yegeniy; 03.04.2018
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 config --global core.editor "mvim --remote-wait"
--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'"
Это не надежное решение, так как оно не поддерживает интерактивное перемещение (например). Улучшения приветствуются!
В Mac OS X с помощью TextEdit или редактора естественной среды для текста:
git config --global core.editor "open -W -n"
Просто потому, что я пришел сюда в поисках одноразового решения (в моем случае я обычно использую 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
есть список команд, которые вы можете использовать, но для кода vs используйте это
git config --global core.editor "code --wait"
это ссылка для всех редакторов: https://git-scm.com/book/en/v2/Appendix-C%3A-Git-Commands-Setup-and-Config
Просто попробуйте EDITOR=vim git commit
.
Или вы можете установить РЕДАКТОР на vim от export EDITOR=vim
в вашем bashrc.
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 для получения дополнительных сведений.
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
В бета-версии macOS Big Sur (11.0) для TextMate: ни один из параметров переменной среды не работал. (Установите все три: GIT_EDITOR, VISUAL и EDITOR.)
Наконец, установите глобальный редактор core.editor в git, и это сработало: git config --global core.editor "~/bin/mate -w"
Для Windows, Neovim:
# .gitconfig
[core]
editor='C:/tools/neovim/Neovim/bin/nvim-qt.exe'
Для пользователей IntelliJ
Когда я пытался git rebase, я получал следующую ошибку: 'подсказка: ожидание, пока ваш редактор закроет файл ... code -n -w: code: command not found error: Возникла проблема с кодом редактора -n -w '.'
Та же ошибка обнаружилась, когда я пытался связать IntelliJ с Git:
Проблема заключалась в том, что у меня не было команды code, добавленной в переменную PATH моей среды. И я не хотел использовать Visual Studio Code со своего терминала. Вот почему он запросил «команда не найдена». Я решил это, удалив
редактор = код -n -w
из основного раздела моего файла .gitconfig. Git снова работал нормально.
Чтобы установить EmEditor в качестве текстового редактора по умолчанию для Git, откройте Git Bash и введите:
git config --global core.editor "emeditor.exe -sp"
Требуется EmEditor v19.9.2 или новее.
Для MAC, BBEdit:
Сначала откройте BBEdit, щелкните логотип BBEdit и выберите «Установить инструменты командной строки».
Затем из командной строки
git config --global core.editor "BBEdit -w"
Это откроет редактор Textmate, если вы захотите отредактировать свои коммиты. Требуется установка инструментов командной строки textmate.
git config --global core.editor "mate -w"
git config --global core.editor "/usr/local/bin/mate -w"
- person trungly; 10.07.2015
Создайте файл с именем 'k.sh', добавьте следующий текст и поместите в свой домашний каталог (~):
winpty "C:\Program Files (x86)\Kinesics Text Editor\x64\k.exe" $1
В приглашении git введите:
git config --global core.editor ~/k.sh