Git commit w terminalu otwiera VIM, ale nie może wrócić do terminala


209

Próbuję w tej chwili nauczyć się GitHub i wykonać ten samouczek Git Essentials w nettuts. Uczę się o robieniu zobowiązań.

Nauczyciel pisze git commiti otwiera VIM jako jego edytor (chciałbym też wiedzieć, jak go otworzyć w Sublime Text 2), tak czy inaczej, otwiera się w VIM i dodam w 1 linii, mówiąc, że to jest moje pierwsze zatwierdzenie i wciśnięcie save .

Następnie monituje mnie o zapisanie danych wyjściowych na pulpicie, czego nie widziałem w jego screencastie. Teraz nadal korzystam z VIM i nie jestem pewien, jak wrócić do „normalnego” terminala :(

Nie mogłem tego rozgryźć, więc po prostu wyszedłem z terminala i uruchomiłem go ponownie, ponownie wykonałem polecenie i miałem kilka ostrzeżeń o duplikatach! Nie wiem, czy muszę (E)editjakikolwiek albo (A)abort.

status git

wprowadź opis zdjęcia tutaj

wigor

wprowadź opis zdjęcia tutaj

wiadomość, gdy ponownie otwieram terminal i ponownie wykonuję polecenie git

wprowadź opis zdjęcia tutaj


3
Jeśli chcesz tylko wiedzieć, jak zapisać i zamknąć vima, to : wq
guido

1
ten sam problem tutaj ... jak tylko spróbuję zatwierdzić, terminal otwiera jakiś edytor, z którego nie mogę wyjść. Bardzo irytujące!
Kokodoko

3
@Kokodoko tak, po prostu się git commit -m 'my message'teraz zgadzam , to jest to :) nie potrzeba edytora, nigdy nie potrzebowałem używać 1, potrzebowałem tylko 1 linijki.
Leon Gaban,

1
@LeonGaban krótkie komunikaty zatwierdzania są w porządku dla pierwszego zatwierdzenia, ale od nich powinieneś spróbować zastosować technikę posiadania krótkiego tematu, a następnie szczegółowo opisać, co faktycznie się wydarzyło w tym zatwierdzeniu.
liamvictor

1
@LeonGaban jesteś niesamowity
baydi

Odpowiedzi:


368

Aby zapisać pracę i wyjść, naciśnij, Esca następnie :wq(w, aby zapisać i q, aby wyjść).

Alternatywnie możesz zarówno zapisać, jak i wyjść, naciskając, Esca następnie:x

Aby ustawić inny edytor uruchomić export EDITOR=myFavoriteEdiorna swoim terminalu, gdzie myFavoriteEdiormogą być vi, gedit, subl(dla wzniosłości) etc.


7
+1 po objaśnieniu sekwencji poleceń oraz w trakcie pokazania, jak w razie potrzeby przełączać edytory (ale poważnie, dlaczego ktoś miałby chcieć korzystać z edytora innego niż vim :)
Lieven Keersmaekers

15
NB Prosty :xzapis i zamknięcie vima jest nieco szybszy niż :wq;)
Xavier,

1
Aby ustawić edytor na stałe, możesz użyć: git config --global core.editor myFavoriteEditor
Machta

2
Klawisz esc nic dla mnie nie robi. Co to za tajemnicze polecenia, czy to 2016 czy 1996? Niesamowite ...
oyalhi

1
Zupełnie nie działa. Tak, wprowadziłem komunikat zatwierdzenia. Vim jest do bani.
Dave Kielpinski

40

tak naprawdę nie jest to odpowiedź na problem VIM, ale możesz użyć wiersza polecenia, aby wprowadzić również komunikat zatwierdzenia:

git commit -m "This is the first commit"

19

Musisz powrócić do trybu normalnego i zapisać komunikat zatwierdzenia za pomocą jednego z nich

<Esc>:wq

lub

<Esc>:x

lub

<Esc>ZZ

W Escpowoduje powrót z wkładką trybie do normalnego trybu. :wq, :xLub ZZsekwencja zapisuje zmiany i wyjście z edytora.


2
Nie ... Klawisz Esc nic nie robi. Utknąłem w polu „Scal master master of ...”. Wprowadź komunikat zatwierdzenia, aby wyjaśnić, dlaczego scalenie jest konieczne.
Kokodoko

Czy wprowadziłeś komunikat zatwierdzenia? Co się stanie, gdy naciśniesz <Esc>:wq?
Lieven Keersmaekers

2
W moim przypadku nic się nie dzieje. Co to za tajemnicze polecenia, czy to 2016 czy 1996?
oyalhi

1
@ Homo-Erectus - zacząłem używać vima jakieś 4 lata temu i żałuję tylko, że nie zacząłem wcześniej. Nie uważam, żeby to był czas stracony, powinieneś spróbować. Ma ostrą krzywą uczenia się, ale warto. Jeśli chodzi o polecenia, nie mam wiele do dodania. Wpisz <esc>, wpisz:, wpisz x i to powinno być to.
Lieven Keersmaekers

@oyalhi Nigdy nie jest za późno, aby zacząć korzystać z vima
Anatolij Jakimczuk

16

Po prostu wykonanie polecenia vim „zapisz i wyjdź” :wqpowinno załatwić sprawę.

Aby Git otworzył go w innym edytorze, musisz zmienić core.editorustawienie Git na polecenie uruchamiające żądany edytor.

git config --global core.editor "command to start sublime text 2"


4
Dziękujemy za wskazówkę dotyczącą ustawienia edytora na wysublimowany tekst. I nie napotkasz jeden problem chociaż musiałem ustawić --waitflagę: git config --global core.editor "subl --wait". Zapobiega toAborting commit due to empty commit message.
Eric

16

To odpowiedź na twoje pytanie ...

Chciałbym również wiedzieć, jak otworzyć go w Sublime Text 2

Dla Windowsa:

git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe'"

Sprawdź, czy ścieżka dla sublime_text.exejest poprawna i dostosuj w razie potrzeby.

W systemie Mac / Linux:

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

Jeśli pojawi się komunikat o błędzie, taki jak:

błąd: Wystąpił problem z edytorem „subl -n -w”.

Utwórz alias dla subl

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

Ponownie sprawdź, czy ścieżka pasuje do twojego komputera.

W przypadku Sublime Text wystarczy zapisać cmd Si zamknąć okno, cmd Waby powrócić do git.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.