Cum pot folosi emacs cu git în terminal?
On decembrie 31, 2020 by admin Am „folosit git config --global core.editor emacs
pentru a-mi seta editorul git ca emacs, dar când fac asta și comit ceva, editorul deschide o fereastră nouă în loc să deschidă emacs în terminal. Vreau să folosesc emacs de parcă i s-ar fi dat -nw, dar scrierea asta -> git config --global core.editor emacs -nw
nu este soluția.
Deocamdată trebuie să folosesc git de bază.
Comentarii
- Știți despre magit? Face operațiunea de bază git o briză din Emacs. magit.vc
- Da. ' nu-l poate folosi deocamdată. După terminarea clasei, ' mă voi ridica la magit.
- Ar trebui să descrieți ce se întâmplă când adăugați " -nw " în loc să afirmi pur și simplu că " nu este soluția ". Funcționează pentru mine, când comanda este scăpată corect.
Răspuns
Când rulați git config --global core.editor emacs -nw
, shell-ul dvs. împarte linia de comandă în cuvinte înainte de a invoca git. Git vede astfel „emacs -nw” ca două argumente separate. Este nevoie doar de unul pentru a fi introdus în fișierul de configurare, așa că celălalt este ignorat. (De fapt, „este o minciună, dar puteți verifica pagina de manual pentru detalii.) Puteți pune ghilimele în jurul unei serii de cuvinte pentru a spune shell-ului dvs. să nu le rupă: git config --global core.editor "emacs -nw"
dați „emacs -nw” la git ca un singur argument care va face ceea ce doriți.
Răspuns
Nu specificați ce e în neregulă cu deschiderea unei noi ferestre GUI emacs. Dacă problema este timpul lung de pornire, vă recomandăm să utilizați emacsclient ca editor. Pe scurt, rulați (server-start)
în fișierul inițial emacs și păstrați emac-urile GUI obișnuite deschise și apoi spuneți git să folosească un editor numit emacsclient. Ceea ce se întâmplă este că fișierul editat apare într-un tampon nou în emac-urile dvs. care rulează. După ce ați terminat, apăsați C-x #
pentru a termina sesiunea emacsclient și apoi git (sau alt proces shell care a pornit editorul) știe că editorul „emacsclient” se face cu fișierul și continuă cu lucrurile sale. („emacsclient” este, de asemenea, un singur cuvânt, deci rezolvă și problema imediată)
Chiar și atunci când editarea dvs. trebuie făcută în fereastra terminalului, puteți rula emacsclient -nw
este o lectură bună.
Comentarii
- (ar ' Am fost mai bun ca un comentariu la răspunsul de mai sus, dar nu am permisiunea de a posta comentarii)
- Am ' căutat peste tot pentru asta, total fericit ' este un răspuns 🙂
- Problema principală pe care o am este că nu ' t returnează întotdeauna focalizarea la terminal după ieșirea din emacs. Există situații în care focalizarea nu este returnată niciodată, ca atunci când aveți o fereastră setată ca întotdeauna deasupra, fereastra respectivă pare să blocheze focalizarea după ieșirea din emacs.
Lasă un răspuns