2010-09-18 15 views
9

Tengo un número de divisiones abiertas, mirando varios almacenamientos intermedios. Pero cuando, por ejemplo, compruebo la ayuda de una función, reemplazará una de las divisiones con el búfer de ayuda. Una vez que termine de leer la ayuda, tengo que regresar al búfer correcto manualmente, lo cual es un problema. ¿Cómo hago que Emacs sea más agradable con mis buffers?¿Cómo evito que Emacs cambie mis búferes divididos?

Actualización: Ayuda le permitirá presionar q para volver al buffer anterior. Pero hacer que la traza inversa de Emacs aparezca también roba una de mis ventanas de memoria intermedia y no tiene q .

Actualización: Backtrace DOES tiene q para volver. Mi pregunta original sigue en pie: ¿cómo le pido a Emacs que no robe una de mis divisiones?

Respuesta

6

Al agregar la línea

(push "*Help*" special-display-buffer-names)
al archivo init, las siguientes invocaciones del búfer de ayuda deben aparecer en su propio marco (lo que el escritorio suele llamar "ventana") y dejar el marco original solo con su configuración.

Ver Special Buffer Frames.

+0

Hermoso. Solo necesito volver a vincular "borrar fotograma" a algo más útil que C-x 5 0 ahora y todo estará listo. No puedo votar esta pregunta y esta respuesta lo suficiente! –

+0

Por cierto, funciona bien con "* compilation *" también. –

+0

Usted, señor, es un genio. – MDCore

0

Lo que hago es ir a ese búfer modificado, C-x k it, y el búfer actual en esa ventana será el búfer anterior.

Es posible definir consejos para la ayuda que guarda la ventana actual y el estado del búfer y los restaura con un simple acceso por teclado. Pero esto está fuera de mi conocimiento básico de elisp.

+0

Me acabo de dar cuenta de que aparece un mensaje que dice 'presione q para restaurar esta ventana'. Vamos a ver si eso funciona para esta sesión de edición. – MDCore

+0

Recuerdo vagamente que las personalizaciones predeterminadas en Aquamacs hacen que se abra en un marco nuevo en vez de una ventana en el marco actual. Si es así, probablemente solo quieras ver cómo lo hacen y copiar su código. – Porculus

+0

Preferiría una solución donde la ayuda/backtrace, etc., no estropee en absoluto mis búferes. ¡En este momento, sería preferible una ventana emergente! – MDCore

1

espero que esto le ayudará a:

  • Cx para eliminar la ventana actual

  • Cx mantener sólo la ventana actual

  • puedes usar windmove por addi ng la siguiente línea en su .emacs:

(windmove-default-keybindings)

A continuación, puede mover el punto entre las ventanas utilizando S-derechaS-izquierdaS-hasta y S- abajo

Hay muchas maneras de almacenar y restaurar ventanas de emacs, vea emacswiki.org on the subject.

+0

Bueno, tengo la ventana dividida en cuatro cuadrantes, mostrando los archivos que quiero ver. Quitar ventanas va a estropear esa disposición, que es el problema que estoy teniendo en primer lugar. – MDCore

+0

Hay muchas formas de almacenar arreglos de ventanas. Actualizo mi respuesta a un enlace a emacswiki.org sobre el tema. –

+1

No necesito almacenar o restaurar un arreglo, preferiría que los emacs no se metieran con lo que tenía. Quiero que el programa haga lo que yo quiero, no al revés. – MDCore

3

También podría usar el modo ganador. Apareció en planet.emacsen.org hace un tiempo.

Winner Mode es un modo menor global. Cuando está activado, permite "deshacer" (y "rehacer") los cambios en la configuración de la ventana con los comandos de tecla 'C-c izquierda' y 'C-c derecha'.

De esta manera puede deshacer cualquier cambio en sus divisiones inmediatamente después de que ocurran.

Cuestiones relacionadas