Pytanie Jak sprawić, by Git używał edytora mojego wyboru do zatwierdzenia?


Wolałbym napisać moje komunikaty commit w Vimie, ale otwiera je w Emacs.

Jak skonfigurować Gita, aby zawsze używać Vima? Zauważ, że chcę to zrobić globalnie, nie tylko dla pojedynczego projektu.


1899
2018-04-08 00:28


pochodzenie


"Jak zdobyć git, aby przejść do vima w celu zatwierdzenia komentarzy z git-go?" - Michael Burr
Powiązane (możliwe duplikaty): Jak skonfigurować edytor do pracy z Git w systemie Windows? - Steven Vascellaro


Odpowiedzi:


Jeśli chcesz ustawić edytor tylko dla Git, wykonaj (nie potrzebujesz obu):

  • Zestaw core.editor w twojej konfiguracji Git: git config --global core.editor "vim"
  • Ustaw GIT_EDITOR Zmienna środowiskowa: export GIT_EDITOR=vim

Jeśli chcesz ustawić edytor Git a także inne programy, ustaw standardową VISUAL i EDITOR Zmienne środowiska*:

export VISUAL=vim
export EDITOR="$VISUAL"

* Ustawienie obu nie jest koniecznie potrzebne, ale niektóre programy mogą nie używać bardziej poprawnych VISUAL. Widzieć VISUAL vs. EDITOR.


Dla Sublime Text: Dodaj to do .gitconfig. The --wait jest ważne. (pozwala wpisać tekst w sublime i czeka na zdarzenie save / close.

[core]
    editor = 'subl' --wait

'subl' można zastąpić pełną ścieżką do pliku wykonywalnego, ale zwykle jest dostępna, gdy jest poprawnie zainstalowana.


2677
2018-04-08 00:34



Zmienna środowiskowa EDITOR ma tę zaletę, że wiele innych programów również będzie ją szanować. - Boojum
Zauważ, że git config --global pisałbym do twojego osobistego pliku konfiguracyjnego git (na użytkownika). Na Unices to jest ~/.gitconfig. Tak więc skonfiguruje to dla wszystkich twoich repozytoriów. - Jakub Narębski
możesz przetestować, czy udało ci się go zmienić, próbując zmienić ostatnią wiadomość zatwierdzenia. git commit --amend - Marco M.
Jeśli robisz opcję nr 1 w systemie Windows i masz spacje w ścieżce do edytora (powiedzmy, jeśli jest to w sekcji Pliki programów), wtedy walnij w cudzysłowy wewnątrz swoich podwójnych cudzysłowów. na przykład "" C: / Program Files (x86) /Whatever/App.exe "" - dla niektórych oczywiste, ale nie dla mnie! - Pablissimo
@Abramodj -w to nie jest konieczne; -w {scriptout} zapisuje wszystkie znaki, które wpisujesz podczas edycji, aby później odtworzyć. Być może mylisz to z -f, który jest konieczne podczas dzwonienia do wersji GUI Vima. Oznacza to, że jeśli używasz mvim, a następnie powinien wybrać edytujący mvim -f zamiast mvim. - Rory O'Kane


Skopiuj wklej to:

git config --global core.editor "vim"

Jeśli chcesz wiedzieć, co robisz. Od man git-commit:

ŚRODOWISKO I ZMIENY KONFIGURACYJNE

Edytor użyty do edycji komunikatu dziennika zmian zostanie wybrany z pliku GIT_EDITOR zmienna środowiskowa, core.editor zmienna konfiguracyjna, VISUAL zmienna środowiskowa lub EDITOR zmienna środowiskowa (w tej kolejności).


461
2018-04-08 00:31



Btw, powyższe jest prawdziwe dla CVS i SVN, i domyślam się innych kontroli wersji. - armandino
@armandino: Tak, inni mogą skorzystać VISUAL lub EDITOR, ale z pewnością nie używają GIT_EDITOR lub core.editor. - Mark Rushakoff
Tak - svnbook.red-bean.com/en/1.1/ch07.html#svn-ch-7-sect-1.3.2 Więc teoretycznie, jeśli używam zarówno svn, jak i git, ustawienie $ VISUAL lub $ EDITOR byłoby najlepszym rozwiązaniem do objęcia zarówno domyślnie! - brasskazoo
Ze względu na kompletność core.editor oznacza [core] editor = ... w pliku - JRG
Nie odpowiedział na pytanie "Jak skonfigurować git ..." - Ant6n


W systemie Ubuntu i Debian (dzięki @MichielB) zmiana domyślnego edytora jest również możliwa poprzez uruchomienie:

sudo update-alternatives --config editor

Które będzie monitować następujące:

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: 

144
2017-10-27 15:35



Na Debianie to też działa, dziękuję! Domyślnie jest to pico - argh. - MichielB
Nie na łuku? : [ - dylnmc
Oczywiście działa na Debianie; jest to funkcja Debiana, która, jak większość rzeczy (o, kontrowersyjna!), Ubuntu dziedziczy po prostu. Debiana alternatives system to znacznie łatwiejszy sposób zarządzania wartościami domyślnymi obsługiwanych typów programów. Na przykład: debian-administration.org/article/91/... - underscore_d
Działa, podczas gdy GIT_EDITOR i EDITOR  nie działa --ubuntu - Ninja
Brak opcji dla Emacs? Jeśli to prawda, to wstyd! - haziz


W systemie Windows 7 podczas dodawania edytora "Sublime" nadal wyświetlał mi się błąd:

Przerwanie zatwierdzania z powodu pustego komunikatu zatwierdzenia.

Sublime nie był w stanie utrzymać koncentracji.

Aby to naprawić, otworzyłem plik .gitconfig w folderze c: / users / username / i dodałem następujący wiersz z opcją --wait poza podwójnymi cudzysłowami.

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

Mam nadzieję, że jest to pomocne dla kogoś, kto ma podobny problem z Sublime.


53
2018-02-21 17:15



Miły! Dzięki Anmol, miałem problem, który popełnił na pustej wiadomości. - sircapsalot
Dlaczego chcesz używać sublime do zatwierdzania git? - Adam F
Każdy edytor git commit będzie najczęściej używany do dodawania wielu wierszy komentarzy, a Sublime jest wyborem programisty z różnych powodów dla wielu programistów. Ludzie zazwyczaj mają tendencję do używania jednego edytora do większości swoich kodowań i innych prac. Sublime jest tylko osobistym wyborem, może być dowolnym edytorem. - Anmol Saraf
Właśnie się dowiedziałem, że pojedyncze cytaty "są wymagane. Nie działa z podwójnymi cudzysłowami ". - dotnetCarpenter
Zamiast ręcznie edytować gitconfig, możesz użyć tego polecenia git config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' --wait" - KayakinKoder


W systemie Windows 7 ustaw edytor na Notepad ++

  • Otwórz dowolny edytor tekstów.
  • Otwórz ten plik: C:\Users\YOUR_USERNAME\.gitconfig
  • Dodaj tę sekcję na dół:

[core]
    editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' 
  • Zapisz i zamknij plik.
  • Kiedy angażujesz się w git, po prostu napisz git commit i naciśnij Enter. Zostanie otwarte Notepad ++.
  • Napisz wiadomość zatwierdzenia u góry pliku, a następnie zapisz i zamknij plik. Gotowe!

47
2018-03-07 00:08



wreszcie ktoś, kto wie jak to napisać prosto! Dzięki. Ale powinieneś wspomnieć, że na ścieżce do notatnika trzeba użyć znaku "/" lub podwójnego ukośnika odwrotnego \\ ', inaczej git będzie narzekał ... - icl7126
Może być konieczne dodanie co najmniej -multiInst jako parametr do notatnika ++ i ewentualnie -notabbar. Zrób to, jeśli git nie wydaje się wiedzieć, kiedy skończyłeś edycję pliku i albo czeka na zawsze, albo wcale. - ErikE
Właśnie tego chciałem. Porównaj użycie \ i / - Henry
aby ustawić konfigurację w linii poleceń, potrzebuję podwójnych cudzysłowów w cudzysłowach, takich jak >git config --global core.editor '"C:/Program Files (x86)/Notepad++/notepad++.exe"' - Josef
Aby dodać parametry Notepadd ++, musiałem to zrobić: editor = 'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -notabbar- to znaczy params poza ograniczeniem pojedynczych cudzysłowów - cropredy


A jeśli pracujesz z projektantami za pomocą linii poleceń, a następnie Pico, i nie znasz skrótów;)

git config --global core.editor "pico"

Lub

export VISUAL=pico
export EDITOR=pico

21
2018-06-27 13:56





Ustawianie Sublime Text 2 jako edytora zatwierdzania Git w Mac OSX 10

Uruchom to polecenie:

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

Lub tylko:

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

15
2018-03-01 01:19



Jestem dość pewny, że sublime ma plik wykonywalny podobny do textmate mate.. - code ninja
W jakiś sposób nie dostarcza tekstu do git. Otrzymałem "Przerwanie zatwierdzania z powodu pustego komunikatu zatwierdzenia". błąd. - mahe madhi
Użyłem pierwszego polecenia do ustawienia SL. cmd + S następnie cmd + W, aby zamknąć edytor - mahe madhi
Kod Visual Studio również obsługuje -w parametr. Na przykład. $ git config --global core.editor "code -w". Schludne rzeczy - Automatico
Alternatywna odpowiedź tutaj: stackoverflow.com/a/48212377/4561887, na przykładzie Linuksa. - Gabriel Staples


Aby uczynić Visual Studio Code (vscode) twoim domyślnym edytorem git

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

15
2018-06-28 20:42