2011-01-11 6 views
26

Ocasionalmente, cuando estoy compilando, tengo que desplazarme hacia arriba en mi memoria compilación para ver los detalles de un error. En este punto, emacs deja de "seguir" mi buffer de compilación, es decir, se desplaza para mostrar automáticamente el nuevo resultado.Cómo animo a emacs a seguir el búfer de compilación

Estoy usando Aqumacs en OS X. ¿Alguna idea de cómo puedo "reacoplar" o alentar al compilador a seguir de nuevo?

Saludos, Chris

Respuesta

6

No estoy seguro acerca de Aquamacs pero para mí (Emacs 23/Debian) acabo de ir en la ventana de compilación y no meto mi cursor al final de la ventana que se fije y siga (puedes ir a otra ventana y aún seguirá).

+2

¿Se puede hacer esto automáticamente? Odio cuando las computadoras rápidas de hoy llenan mi buffer de compilación tan rápido que no puedo poner el cursor al final ;-) – thoni56

+0

@Thomas, puedes llegar al final con un comando: 'M->'. Eso funcionará sin importar qué tan rápido se está desplazando la salida. Pero vea la respuesta de @ thohr sobre cómo hacer que se desplace automáticamente. –

6

Trate de usar M-x auto-revert-cola-mode o M-x auto-revert-mode. Tomado de official documentation:

Un uso del modo Auto-Revert es “cola” de un archivo, como un registro del sistema, por lo que los cambios realizados a ese archivo por otros programas son continuamente muestran. Para hacerlo, solo mueva el punto al final del búfer, y se mantendrá allí mientras cambia el contenido del archivo . Sin embargo, si está seguro de que el archivo solo cambiará al crecer al final, use el modo Auto-Revert Tail en su lugar (auto-revert-tail-mode). Es más eficiente para esto. Auto-Revert El modo cola también funciona para archivos remotos.

Por lo tanto, como ya mencionó Chmouel, también funcionará mover punto a punto de la memoria intermedia.

+2

Mover el cursor al final del archivo parece funcionar. auto-revert-tail-mode se queja de que "este buffer no es un archivo"; entonces quizás solo funcione para archivos, no para salida de compilación? – clearf

51

poner en su archivo ~/.emacs

;; Compilation output 
    (setq compilation-scroll-output t) 

o incluso

(setq compilation-scroll-output 'first-error) 

para que sea desplazarse hasta el primer error.

+13

Mejor aún: '(setq compilation-scroll-output 'primer error)' – To1ne

+0

Eso funcionó perfectamente para mí, preguntándome cuál es la sintaxis de un' error ', así que puedo hacer que la salida de depuración imite eso. Hora de ir a cavar ¡Pero esta respuesta me ahorrará tanto agravamiento! –

+0

Siempre me gusta trabajar con personalizar-framework, pero su kilometraje puede variar. En este caso: M-x customize-variable compilation-scroll-output. – Gizmomogwai

Cuestiones relacionadas