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.