qual è il più efficiente flusso di lavoro di emacs per la compilazione e i cicli di esecuzione interattivi (C ++ / makefile)

1

Cerco di non cross-post, ma l'unica risposta che ho ottenuto allo stack-exchange era di postare qui ...

Qual è la pratica preferita per un ciclo di esecuzione della compilazione in emacs?

Precedentemente, ho usato alt-x compilare (mappato a F12) con make come comando di compilazione. All'interno del Makefile avevo una voce che avrebbe eseguito il programma che era stato compilato. Questo ha funzionato bene quando i miei programmi non erano interattivi, ma il buffer di compilazione non è interattivo.

Ovviamente potrei aprire una shell ed eseguire l'eseguibile, ma mi piacerebbe automatizzare il ciclo di compilazione il più possibile e presumo ci debba essere una pratica standard per questo e sto indovinando il mio esecuzione- Il metodo from-the-makefile è un kluge ...

Cu F12 funziona, ma mi chiedo se questo sia l'approccio migliore per farlo (e se sì, come posso legare F12 ad essere equivalente a Cu alt-x compilare invece di solo alt-x compilare?).

    
posta daj 09.03.2012 - 21:19
fonte

1 risposta

1

Ecco come lo faccio:

  1. Usa emacs in impostazioni completamente predefinite. Nessun binding di tasti speciale.
  2. Apri il terminale (e tienilo aperto) e digita "make" in esso per la compilazione.
  3. per l'esecuzione del programma, ./main sembra essere il modo più comune per me
  4. la modifica di un nuovo file è c-x c-f, o più comunemente nel terminale "emacs foo.cc"
  5. Muovi il cursore del mouse tra la finestra di emacs e la finestra del terminale a seconda che tu voglia modificare o compilare
  6. Questo approccio ha diversi vantaggi: diverse istanze di emacs sono possibili senza confondere quale finestra è destinata alla compilazione e nessuna copia di file .emacs è richiesta quando si passa da un computer a successivo e il debugging con valgrind o gdb è anche facile quando la finestra del terminale è aperta

  7. Sfortunatamente c'è un'eccezione alla regola piacevole di nessun binding di chiave speciale. la goto-line è una funzione così importante che deve essere associata alla chiave c-x g e c-c g.

Per lo più uso i seguenti comandi di emacs:

C-x c-f find a file
C-x C-s save a file
esc-<   beginning of file, 
C-s     search
c-x c-c exit emacs
c-x 2   split screen
c-x 0   remove split screen
c-x b   switch to another buffer
C-k     kill line
C-y     yank
    
risposta data 09.03.2012 - 21:47
fonte

Leggi altre domande sui tag