Hur kan jag använda emacs med git i terminalen?
On december 31, 2020 by admin Jag har använt git config --global core.editor emacs
för att ställa in min git-editor som emacs men när jag gör det och begår något editor öppnar ett nytt fönster istället för att öppna emacs i terminalen. Jag vill använda emacs som om -nw fick det men att skriva detta -> git config --global core.editor emacs -nw
är inte lösningen.
Jag behöver använda grundläggande git för tillfället.
Kommentarer
- Känner du till magit? Det gör grundläggande git-operation en vind inifrån Emacs. magit.vc
- Ja. Kan ' inte använda den för tillfället. När klassen är över ska jag ' upp till magit.
- Du bör beskriva vad som händer när du lägger till " -nw " istället för att bara säga att det " inte är lösningen ". Det fungerar för mig när kommandot släpps ordentligt.
Svar
När du kör git config --global core.editor emacs -nw
delar ditt skal kommandoraden i ord innan du anropar git. Git ser alltså ”emacs -nw” som två separata argument. Det behöver bara en att lägga i konfigurationsfilen, så den andra ignoreras. (Egentligen är det ”en lögn men du kan kontrollera mansidan för detaljer.) Du kan lägga citat runt en serie ord för att berätta för ditt skal att inte bryta upp dem: git config --global core.editor "emacs -nw"
kommer ge ”emacs -nw” till git som ett enda argument som gör vad du vill.
Svar
Du anger inte vad är fel med att öppna ett nytt GUI emacs-fönster. Om problemet är den långa starttiden kan du överväga att använda emacsclient som din redigerare. I ett nötskal kör du (server-start)
i din emacs init-fil och håller dina vanliga GUI-emacs öppna och säger sedan till git att använda en redaktör som heter emacsclient. Vad som händer är att den redigerade filen dyker upp i en ny buffert i dina körande emacs. När du är klar med det trycker du på C-x #
för att avsluta emacsclient-sessionen och sedan vet git (eller annan shell-process som startade redigeraren) att redigeraren ”emacsclient” är klar med filen och fortsätter med sin sak. (”emacsclient” är också ett ord, så det löser också ditt omedelbara problem)
Även när din redigering måste göras i terminalfönstret kan du köra emacsclient -nw
och eliminera den långa starttiden. Det finns fler möjligheter, man emacsclient
är en bra läsning.
Kommentarer
- (skulle ' har varit bättre som en kommentar till ovanstående svar, men har inte tillåtelse att skicka kommentarer)
- Jag ' har letat överallt för detta, helt glad det ' är ett svar 🙂
- Huvudfrågan jag har är att den inte ' t återställ alltid fokus till terminalen efter att ha avslutat emacs. Det finns situationer där fokus aldrig återlämnas, som när du har ett fönster som alltid ovanpå, det fönstret verkar häva fokus efter att ha avslutat emacs.
Lämna ett svar