Hvordan kan jeg bruge emacs med git i terminalen?
On december 31, 2020 by admin Jeg har brugt git config --global core.editor emacs
til at indstille min git-editor som emacs, men når jeg gør det og begår noget, editor åbner et nyt vindue i stedet for at åbne emacs i terminalen. Jeg vil bruge emacs som om -nw blev givet til det, men at skrive dette -> git config --global core.editor emacs -nw
er ikke løsningen.
Jeg har brug for grundlæggende git indtil videre.
Kommentarer
- Kender du til magit? Det gør grundlæggende git-operation en brise indenfra Emacs. magit.vc
- Yep. Kan ' ikke bruge det indtil nu. Når klassen er slut, <
vil jeg niveauere op til magit.
Svar
Når du kører git config --global core.editor emacs -nw
, opdeler din shell kommandolinjen i ord, inden den påberåber sig git. Git ser således “emacs -nw” som to separate argumenter. Det behøver kun en at sætte i konfigurationsfilen, så den anden ignoreres. (Faktisk er det “en løgn, men du kan tjekke mandsiden for detaljer.) Du kan sætte anførselstegn omkring en række ord for at fortælle din shell ikke at bryde dem op: git config --global core.editor "emacs -nw"
vil Giv “emacs -nw” til git som et enkelt argument, der vil gøre, hvad du vil.
Svar
Du specificerer ikke hvad er der galt med at åbne et nyt GUI emacs-vindue. Hvis problemet er den lange opstartstid, kan du overveje at bruge emacsclient som din editor. I en nøddeskal kører du (server-start)
i din emacs init-fil og holder dine almindelige GUI emacs åbne, og fortæller derefter git at bruge en editor kaldet emacsclient. Hvad der sker er, at den redigerede fil dukker op i en ny buffer i dine kørende emacs. Når du er færdig med det, skal du trykke på C-x #
for at afslutte emacsclient-sessionen og derefter ved git (eller en anden shell-proces, der startede editoren), at editoren “emacsclient” er færdig med filen og fortsætter med sin ting. (“emacsclient” er også et ord, så det løser også dit umiddelbare problem)
Selv når din redigering skal udføres i terminalvinduet, kan du køre emacsclient -nw
og fjern den lange opstartstid. Der er flere muligheder, man emacsclient
er en god læsning.
Kommentarer
- (ville ' har været bedre som en kommentar til ovenstående svar, men ikke tilladt at skrive kommentarer)
- Jeg ' har set overalt til dette, helt glad for det ' er et svar 🙂
- Det vigtigste problem jeg har er, at det ikke ' t returner altid fokus til terminalen efter afslutning af emacs. Der er situationer, hvor fokus aldrig returneres, som når du har et vindue indstillet som altid øverst, synes det vindue at fange fokus efter at have afsluttet emacs.
Skriv et svar