Я вважаю за краще писати свої повідомлення про коммісію у Vim, але це відкриває їх у Emacs.
Як налаштувати Git завжди використовувати Vim? Зауважте, що я хочу це зробити глобально, а не лише для одного проекту.
Я вважаю за краще писати свої повідомлення про коммісію у Vim, але це відкриває їх у Emacs.
Як налаштувати Git завжди використовувати Vim? Зауважте, що я хочу це зробити глобально, а не лише для одного проекту.
Відповіді:
Якщо ви хочете встановити редактор тільки для Git, зробіть будь-яке (вам не потрібно обоє):
core.editor
у своєму Git config:git config --global core.editor "vim"
GIT_EDITOR
змінну середовища:export GIT_EDITOR=vim
Якщо ви хочете встановити редактор для Git, а також інших програм , встановіть стандартизовані VISUAL
та EDITOR
змінні середовища *:
export VISUAL=vim
export EDITOR="$VISUAL"
* Налаштування обох не обов'язково потрібно, але деякі програми можуть не використовувати більш правильну VISUAL
. Див VISUAL
протиEDITOR
.
Для піднесеного тексту : додайте це до .gitconfig
. Це --wait
важливо (воно дозволяє вводити текст піднесене і буде чекати події збереження / закриття.)
[core]
editor = 'subl' --wait
'subl' може бути замінено повним контуром виконуваного файлу, але зазвичай він доступний при правильному встановленні.
git config --global
записати у ваш особистий файл конфігурації git (на користувача). У Unices це так ~/.gitconfig
. Таким чином, це налаштувало б його для всіх ваших сховищ.
git commit --amend
-w
не потрібен; -w {scriptout}
зберігає всі символи, які ви вводите під час редагування для подальшого відтворення. Можливо , ви плутаєте його з -f
, що є необхідним при виклику з графічним інтерфейсом Vim. Тобто, якщо ви використовуєте mvim
, то редактор, який ви вказуєте, повинен бути, mvim -f
а не mvim
.
Скопіюйте це вставити:
git config --global core.editor "vim"
Якщо ви хочете знати, що ви робите. Від man git-commit
:
РІЗНОВО-ЕКОЛОГІЧНІ ТА КОНФІГУРАЦІЙНІ ЗАХОДИ
Редактор, який використовується для редагування повідомлення журналу фіксації, буде обраний із
GIT_EDITOR
змінної середовища, змінноїcore.editor
конфігурації, змінноїVISUAL
середовища абоEDITOR
змінної середовища (у цьому порядку).
VISUAL
або EDITOR
, але вони, звичайно, не використовують GIT_EDITOR
або core.editor
.
У 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/…
GIT_EDITOR
і EDITOR
не працює --ubuntu
update-alternatives
покаже будь-які встановлені редактори. У Koen просто не встановлено Emacs.
У Windows 7, додаючи редактор "Піднесене", він все ще давав мені помилку:
Відмова від здійснення через порожнє повідомлення про фіксацію.
Піднесений не зміг утримати фокус.
Щоб виправити це, я відкрив файл .gitconfig у c: / users / username / folder і додав наступний рядок із опцією --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"
C:\Users\YOUR_USERNAME\.gitconfig
[core]
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe'
git commit
і натисніть Enter
. Він відкриється Notepad ++.-multiInst
якості параметра в Notepad ++ і , можливо -notabbar
. Зробіть це, якщо git, здається, не знає, коли ви закінчили редагувати файл і або чекаєте вічно, або зовсім не.
>git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"'
editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar
- тобто
Щоб зробити Visual Studio Code (vscode) редактором git за замовчуванням
git config --global core.editor "code --wait"
А якщо ви працюєте з дизайнерами, використовуючи командний рядок, то Pico, і не знаєте коротких скорочень;)
git config --global core.editor "pico"
Або
export VISUAL=pico
export EDITOR=pico
git config --global core.editor "atom --wait"
Atom потрібно налаштувати для запуску з командного рядка для роботи вище:
OS X : встановіть команди оболонки з Atom: рядок меню> Atom> Install Shell Commands
Windows : ніяких дій не потрібно - атом налаштований для запуску з командного рядка за замовчуванням
Виконайте цю команду:
$ 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"
. Акуратні речі
git config --global core.editor notepad.exe
Натисніть Ctrl+, Sщоб зберегти повідомлення про фіксацію. Щоб відмовитися, просто закрийте вікно блокнота, не зберігаючи.
Якщо ви натиснули ярлик для збереження, тоді вирішите перервати, перейдіть у меню Файл-> Зберегти як, а в діалоговому вікні, що відкрилося, змініть "Зберегти як тип" на "Усі файли (*. *)". Ви побачите файл під назвою "COMMIT_EDITMSG". Видаліть його та закрийте вікно блокнота.
Редагувати: або , тим самим простіше, видалити весь вміст із відкритого вікна блокнота та натисніть «Зберегти». (дякую mwfearnley за коментар!)
Я думаю, що для невеликих записів, таких як повідомлення про фіксацію, блокнот служить найкраще, тому що це просто, там, де з вікнами, відкривається в найкоротші терміни. Навіть ваша піднесеність може зайняти секунду або дві, щоб звільнитись, коли у вас є багато плагінів та інших матеріалів.
\r\n
(newline в Windows) та \n
(newline в Linux, також за замовчуванням для Git).
core.editor = 'notepad' .git/COMMIT_EDITMSG --wait
щоб він відкривався і зберігав повідомлення за редагуванням за замовчуванням, і вам не потрібно "зберегти як"
Це дає відповідь людям, які звертаються до цього питання, які, можливо, захочуть пов’язати редактор, відмінний від 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"
Atom:
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"
git config --global core.editor "emacs -nw -q"
, де -q
пропускає ініціалізаційні файли.
Щоб дотримуватися цих інструкцій у Windows, переконайтеся, що ви встановили Git для Windows . У Windows мені подобається використовувати Git Bash, щоб він відчував себе більше як Linux.
По-перше, ми хочемо створити спеціальний проект Sublime Text, щоб ми могли вказати спеціальні параметри проекту, які ми хочемо встановити, коли Git викликає редактор, щоб полегшити роботу під час редагування в Git. Наприклад, я зазвичай встановлюю лінійку на 120 символів у більшості проектів, але для повідомлень про Git фіксації я хочу, щоб це було 72 символи, щоб воно добре вміщувалося в терміналі, коли ви телефонуєте git log
або git lg
.
Відкрийте піднесений текст і перейдіть до меню "Файл" → "Нове вікно", щоб створити новий анонімний проект. Перейдіть до меню "Проект" → "Зберегти проект як ..." та виберіть місце для його збереження. У 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.
Відповідь Per @ digitaldreamer вище ( https://stackoverflow.com/a/2596835/4561887 ) " subl
може бути замінена повним шляхом виконуваного файлу, але [псевдонім subl
] зазвичай доступний, коли [Sublime] правильно встановлено".
Для Windows спочатку ознайомтеся з інструкціями Linux для довідкової інформації. Зараз ми зробимо щось майже ідентичне.
(ДОДАТКОВО: створити subl
псевдонім для використання в Git Bash):
Відкрийте текстовий редактор (наприклад, "Блокнот", "Блокнот ++", "Підвищений текст", " Гені" та ін.) Та створіть файл у своєму домашньому каталозі ".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
(які я часто використовую в піднесеному тексті) або git commit
(які я не використовую в піднесеному тексті, оскільки я віддаю перевагу командному рядку для загального Git Потік, як я вже згадував у своїх коментарях під цією відповіддю).
Щоб встановити пакет: Спочатку переконайтесь, що встановлено "Контроль пакета". Далі натисніть Ctrl+ Shift+ P(те саме, що Інструменти → Палітра команд) і введіть повністю або частину «Управління пакетом: Встановити пакет», а потім натисніть Enter. У вікні пошуку, що з'являється, знайдіть пакет "Git" і натисніть Enterна нього, або натисніть на нього, щоб автоматично встановити його.
Після установки Ctrl+ Shift+ , Pто в пошуках «мерзотник» з'явиться Git команда , які ви можете використовувати всередині всередині Sublime Text Тепер, наприклад git blame
.
Тепер, коли ви зателефонуєте git commit
, наприклад, як звичайний з командного рядка, Sublime Text відкриється у .gitconfig.sublime-project
створений нами вище, з налаштуваннями цього проекту! Коли ви вводите абзац, ви помітите, що він поширюється повз лінійку, яку ми встановили, оскільки вимкнене м'яке обгортання слів. Щоб примусити жорстке обгортання за допомогою автоматично вставлених твердих повернень у кінці кожного рядка, поставте курсор на довгий рядок, який потрібно автоматично обернути, і натисніть Alt+ Q. Тепер він буде складений / згорнутий на 72 символи. Це те, що ми встановили у параметрі "лінійки" параметрів проекту вище.
Тепер збережіть повідомлення про фіксацію за допомогою Ctrl+ Sі вийдіть (щоб завершити git commit
) за допомогою Ctrl+ Shift+ W.
Готово!
Git Commit
тип синтаксису. Ви можете пропустити спеціальний крок "піднесений текст" зараз.
sublime
з , git
а також використовувати trim_trailing_white_space_on_save
для додавання псевдоніма для пластиру , додавши , бо видалення завершальних прогалин брейки патча зміна , де це дуже значущим. Цього можна досягти приблизно таким чином:git config --global alias.patch "-c core.editor=vim add --patch"
Як і всі інші програми GUI, вам потрібно запустити mvim із прапором очікування.
git config --global core.editor "mvim --remote-wait"
--remote-wait-silent
щоб уникнути некрасивого повідомлення про помилку :)
Для користувачів Windows, які хочуть використовувати neovim з підсистемою Windows для Linux:
git config core.editor "C:/Windows/system32/bash.exe --login -c 'nvim .git/COMMIT_EDITMSG'"
Це не дурне доказ рішення, оскільки воно не обробляє інтерактивний рисинг (наприклад). Покращення дуже вітаємо!
git config --global core.editor "open -n -W -a TextWrangler"
Крім того, переконайтеся, що для параметра "TextWrangler> Налаштування> Програма"> Коли TextWrangler стає активним: "для параметра" Зроби нічого "
Це працює для мене на OS X 10.11.4 з TextWrangler 5.0.2 з магазину додатків Mac.
Пояснення:
The -n засіб відкрити в новому екземплярі.
У -W означає не чекати , поки вихід з програми , перш ніж використовувати вміст редагованого файлу в повідомленні фіксації.
У -a TextWrangler кошти використовувати додаток TextWrangler , щоб відкрити файл.
Докладнішу інформацію див. man open
У додатку Mac Terminal.
git config --global core.editor "edit -w"
. Це відкриє повідомлення про фіксацію в поточному екземплярі, і як тільки ви закриєте лише цей документ повідомлення про фіксацію, це буде продовжено.
Під час використання git-review
мені довелося змінити sequence.editor
значення, щоб мати змогу робити інтерактивну базу даних ( git rebase -i -p
):
git config --global sequence.editor "gvim" # or whatever your prefer
gvim
вимагають: apt install vim-gtk
Для Mac OS X, використовуючи TextEdit або природний редактор навколишнього середовища для тексту:
git config --global core.editor "open -W -n"
Просто тому, що я прийшов сюди шукати одноразове рішення (у моєму випадку я зазвичай використовую, vim
але цього разу я хотів використати код VS) для однієї команди, і інші, можливо, захочуть це знати:
GIT_EDITOR='code -w' git rebase -i …
Ось моя git
/ hub
версія лише для контексту:
git version 2.24.2 (Apple Git-127)
hub version 2.14.1
Для користувачів IntelliJ
Коли я намагався git rebase, я отримував таку помилку: 'підказка: Чекаю, коли ваш редактор закриє файл ... code -n -w: code: команда не знайдена помилка: виникла проблема з кодом редактора -n -w '.'
Така ж помилка виявилася, коли я намагався пов'язати IntelliJ з Git:
Проблема полягала в тому, що мені не було додано командний код у мою змінну PATH середовища. І я не хотів використовувати Visual Studio Code зі свого терміналу. Отож, це запит "команда не знайдена". Я вирішив це шляхом видалення
редактор = код -n -w
з основного розділу в моєму файлі .gitconfig. Гіт знову справно працював.
Це відкриває редактор Textmate, коли ви бажаєте редагувати свої коміти. Потрібна установка інструментів командного рядка textmate.
git config --global core.editor "mate -w"
git config --global core.editor "/usr/local/bin/mate -w"
Створіть файл під назвою "k.sh", додайте наступний текст і помістіть у домашній каталог (~):
winpty "C:\Program Files (x86)\Kinesics Text Editor\x64\k.exe" $1
На тип підказки git:
git config --global core.editor ~/k.sh