Nie często muszę modyfikować wiele komunikatów o zatwierdzeniach, ale zdarzyło się to raz lub dwa razy i nigdy nie pamiętam, żebym to widział. Mam nadzieję, że ktoś inny. Kiedy ja git rebase -i HEAD~7
, oczekiwana lista otwiera się w vi dokładnie tak, jak oczekiwano. Zmieniam pick
wartości na edit
odpowiednie, a następnie :wq
.
Nie udało się uruchomić edytora
core.editor
Ustawienie w moim globalny .gitconfig
jest vi
(ja też zmienić go vim
w szalenie desperackim ruchu). Próbowałem użyć mate
, ale to nawet nie otworzyło poprawnie początkowej listy, więc zmieniłem ją z powrotem.
Używam wersji 1.7.3 i mile widziane są wszelkie sugestie.
git_editor "$TODO" || die_abort "Could not execute editor"
. Ponieważ mówisz, że edytor faktycznie się pojawia, oznacza to, że zwraca niezerowy kod zakończenia. Czy możesz odtworzyć to zachowanie, używając go normalnie w wierszu poleceń?git config --global core.editor "/usr/local/bin/vim"
naprawiło to dla mnie.Odpowiedzi:
Wczoraj był tylko jeden z tych dni. Na próżno zdecydowałem się ustawić pełną ścieżkę do vi (np.
/usr/bin/vi
), A nie tylko plik wykonywalny. Teraz wszystko działa. Muszę przyznać, że nie rozumiem, ponieważ sam w sobievi
jest doskonale wykonywalny (moja$EDITOR
zmienna env jest również ustawiona navi
), ale działa, a moja techniczna karma ostatnio nie była tak duża, więc może po prostu nie powinienem kwestionować bóstwa będą ...źródło
git config --global core.editor "/usr/bin/vim"
.git config --global color.editor "/usr/local/bin/vim"
pracował dla mnie :), dziękiNastępujące polecenie
naprawia to.
[edytować]
Teraz widzę, że ktoś już to opublikował w komentarzach. Mam nadzieję, że jest to nadal pomocne dla niektórych niewidomych ludzi, takich jak ja.
źródło
W przeciwieństwie do innych odpowiedzi tutaj do tej pory, dla mnie użycie bezwzględnej ścieżki do vi i ustawienie
core.editor
konfiguracji git nie było wystarczające do rozwiązania problemu. (Te były już na miejscu.)W mojej sytuacji problem został rozwiązany poprzez dodanie
-f
flagi do polecenia vi:Gdy ta
-f
opcja jest już dostępna, mogę użyćgit rebase -i
, a kiedy zapisuję i zamykam listę zmian, rebase postępuje tak, jak powinno, zamiast wyświetlać błąd „nie można uruchomić edytora”.Strona podręcznika vim mówi o opcji
-f
,Cóż, nie używam wersji GUI, o której wiem. Uruchamiam
git
w wierszu poleceń bash w oknie terminala na masOS Sierra 10.12.6. Ale ponieważgit rebase -i
czeka na zakończenie sesji edycji, przypuszczam, że dlatego-f
opcja jest tutaj konieczna. Może vim (bez-f
) próbuje rozwidlić / odłączyć się od powłoki z jakiegoś powodu, którego nie byłem w stanie zrozumieć.źródło
Miałem ten problem i był on spowodowany przez jakąś część wtyczki vcscommand dla vima. Uruchomienie vima z którymkolwiek z tych poleceń spowodowało kod zakończenia 1 („błąd”):
vi
vim
Ale te dały mi kod zakończenia 0 („sukces”):
/usr/bin/vi
/usr/bin/vim
vi -u NONE
vim -u NONE
Udało mi się prześledzić to z powrotem do konkretnej wtyczki, wyłączając
~/.vimrc
i pliki~/.vim
, zmieniając ich nazwę i uruchamiając,vi -c q ; echo $?
aby szybko uruchomić vim i wydrukować kod zakończenia.źródło
Dla mnie był to problem z moim .vimrc. Tymczasowa zmiana nazwy tego pliku naprawiła problem. Następnie debugowanie pliku .vimrc. Jest to bardzo podobne do doświadczenia ignu.
źródło
Jeśli z jakiegoś powodu chcesz użyć sublime, możesz zrobić coś takiego w swoim globalnym pliku konfiguracyjnym:
źródło
Zajęło mi trochę czasu, zanim wyśledziłem mój problem w jednej z moich wtyczek.
(konkretnie było to https://github.com/ervandew/supertab )
Myślę, że to wada automatycznego aktualizowania wszystkich moich wtyczek.
Więc najlepsza rada, wyłącz połowę swojego vimrc i wtyczek. Jeśli to nie pomoże, problem jest z twoją drugą połową.
źródło
Inną opcją jest użycie
nano
edytora.$ whereis nano
$ git config --global core.editor path/to/nano
Naprawia to.
źródło
Próbowałem zmiażdżyć commity, jak pokazano tutaj https://www.youtube.com/watch?v=V5KrD7CmO4o . Mój edytor git (notepad ++) otworzył się na etapie ponownego bazowania. Ale w kroku komunikatu o zmianie zmiany zobaczyłem problem „Nie można uruchomić edytora”. Prawdopodobnie stało się tak, ponieważ ustawienia edytora git były złe, a także dlatego, że zainstalowałem Notatnik ++ w niestandardowej lokalizacji w moim systemie Windows. To znaczy, dał mi „git config core.editor”
notepad++ -multilnst- nosession
.Aby rozwiązać problem, podaj pełną ścieżkę w następujący sposób:
Zobacz: https://www.youtube.com/watch?v=YLxdkcT6H4g
źródło
Czy jesteś pewien, że / usr / bin / vim był w wersji 1.7.3? Miałem ten sam problem, ponieważ miałem zainstalowaną wtyczkę do tworzenia kopii zapasowych, która jest obsługiwana tylko w wersji 1.7.3 iz jakiegoś powodu / usr / bin / vim został nagle zdegradowany do wersji 1.7.2, być może z powodu dużej aktualizacji XCode. ..
źródło
Miałem również ten problem, gdy miałem już otwarty vim na rebase w innym terminalu. Zacząłem od nowa, zostałem przerwany, a kiedy wróciłem, spróbowałem ponownie od zera na drugim terminalu, nie zdając sobie sprawy, że jestem w trakcie tego samego odradzania gdzie indziej. Samo zakończenie sesji rebase vima na drugim terminalu działało dobrze.
źródło
Co dziwne, po prostu próbowanie tego ponownie zadziałało.
Moje zmienne core.editor i $ EDITOR nie są ustawione.
źródło
U mnie, używając windows: zamknij bieżący terminal i otwórz inny (win + R, wpisz 'cmd', a następnie 'enter'), a potem nagle działa.
źródło
Rozwiązanie VS Code:
git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron"
źródło