2012-05-16 6 views
6

Il modo normale in cui lavoro è di avere un piccolo buffer eshell e un buffer più grande per il codice su cui sto lavorando. Io uso il buffer eshell per fare la compilazione e test semplici.Come fare commit git nei buffer di Emacs

Se voglio fare commit git, quando lo eseguo in questo modo, ottengo sempre una nuova finestra di Emacs che si apre.

Come è possibile ottenere il commit per aprire semplicemente un nuovo buffer nella sessione corrente di Emacs?

+2

Ho sempre usato solo vc-git per eseguire i miei commit. Forse dovresti provarlo. –

risposta

8

La mia ipotesi è che la variabile di ambiente $ EDITOR sia dichiarata come emacs. Dato che non stai eseguendo Emacs come demone, inizia una nuova istanza di esso. Per ovviare a questo si hanno due opzioni:

  1. Configurazione $ EDITOR utilizzare Emacsclient

  2. uso egg o magit, frontend Git per Emacs.
    L'uovo ha un po 'di presa a mano, dal momento che è possibile vedere le scorciatoie, ma Magit è più attivamente sviluppato.

+0

Ok, mi sta dando delle cose da cercare. Giocherò un po '. Grazie. – Vernon

+0

magit è il migliore dai client esistenti ... –

1

Sei banane se usi Emacs, usa git, ma non usare magit. Banane dico!

+0

L'ho scaricato e letto il manuale. – Vernon

+0

Mi piace molto questa risposta. – Mittenchops

2

Mi piace che tutti i miei messaggi di compilation e git/magit vengano visualizzati nella stessa finestra nello stesso frame che ha attivato il messaggio.

Dai un'occhiata a vars stessa finestra-espressioni regolari e nomi di buffer di finestre identiche, perché penso che sia quello che potresti cercare.

Qui è l'impostazione che uso:.

(setq stessi-window-espressioni regolari (citazione ("\ * VC \ - + \ *" "\ * magit + \ *" "grep" "\ * compilation \ * \ (\ | < [0-9] +> \)" "\ * Aiuto \ * \ (\ | < [0-9] +> \)" "\ * Output di comando shell \ * \ (\ | < [0-9] +> \) "" \ * dictem. * ")))

Spero che sia utile.

Damon