Hoe kan ik emacs met git gebruiken in de terminal?
Geplaatst op december 31, 2020 door admin Ik “heb git config --global core.editor emacs
gebruikt om mijn git-editor in te stellen als emacs, maar als ik dat doe en iets vastleg editor opent een nieuw venster in plaats van emacs te openen in de terminal. Ik wil emacs gebruiken alsof -nw eraan gegeven is, maar dit schrijven -> git config --global core.editor emacs -nw
is niet de oplossing.
Ik moet voorlopig nog basic git gebruiken.
Reacties
- Kent u magit? Het maakt een basale git-bewerking een makkie vanuit Emacs. magit.vc
- Ja. Kan ' niet gebruiken voorlopig. Nadat de les voorbij is, ' ll niveau omhoog naar magit.
- Je zou moeten beschrijven wat er gebeurt als je " -nw " in plaats van simpelweg te stellen dat het " niet de oplossing is ". Het werkt voor mij, wanneer het commando correct is geëscaped.
Antwoord
Als je git config --global core.editor emacs -nw
uitvoert, splitst je shell de commandoregel in woorden voordat git wordt aangeroepen. Git ziet dus “emacs -nw” als twee aparte argumenten. Het heeft er maar één nodig om in het configuratiebestand te plaatsen, dus de andere wordt genegeerd. (Eigenlijk is dat “een leugen, maar u kunt de man-pagina raadplegen voor details.) U kunt aanhalingstekens rond een reeks woorden plaatsen om uw shell te vertellen ze niet op te splitsen: git config --global core.editor "emacs -nw"
zal geef “emacs -nw” aan git als een enkel argument dat zal doen wat je wilt.
Antwoord
Je specificeert niet wat is er mis met het openen van een nieuw GUI emacs-venster. Als het probleem de lange opstarttijd is, kunt u overwegen om emacsclient als uw editor te gebruiken. In een notendop draai je (server-start)
in je emacs init-bestand en houd je je normale GUI emacs open, en vertel dan git om een editor genaamd emacsclient te gebruiken. Wat er gebeurt, is dat het bewerkte bestand opduikt in een nieuwe buffer in uw actieve emacs. Nadat je ermee klaar bent, druk je op C-x #
om de emacsclient-sessie te voltooien en dan weet git (of een ander shell-proces dat de editor heeft gestart) dat de editor “emacsclient” klaar is met het bestand en gaat verder met zijn ding. (“emacsclient” is ook één woord, dus het lost ook uw directe probleem op)
Zelfs wanneer uw bewerking moet worden gedaan in het terminalvenster, kunt u emacsclient -nw
en elimineer de lange opstarttijd. Er zijn meer mogelijkheden, man emacsclient
is goed gelezen.
Reacties
- (zou ' ben beter geweest als commentaar op het bovenstaande antwoord, maar ik mocht geen commentaar plaatsen)
- Ik ' heb gekeken overal hiervoor, helemaal tevreden ' is een antwoord 🙂
- Het belangrijkste probleem dat ik heb is dat het niet ' t retourneert altijd de focus naar de terminal na het verlaten van emacs. Er zijn situaties waarin de focus nooit wordt teruggegeven, zoals wanneer je een venster hebt ingesteld zoals altijd bovenaan, dat venster de focus lijkt te haken na het verlaten van emacs.
Geef een reactie