Frecuentemente lanzo programas externos desde emacs usando M-!
, como Firefox o Evince, etc. Cada vez que lo hago, aparece un búfer lleno de resultados para el proceso, que registra cualquier otra cosa que tenga que ver con el arreglo de Windows.
¿Hay alguna manera de enterrar dichos búferes por defecto, para que no tenga que verlos a menos que decida ir a buscarlos?
Respuestas:
Como menciono que el comando se ejecuta de forma asincrónica, supongo que se refiere al comando
async-shell-command
vinculado a M-&. Puede seguir los consejos en la documentación deasync-shell-command
(puede leerlo haciendo C-hfasync-shell-command
RET) personalizar de ladisplay-buffer-alist
siguiente maneraAhora el búfer utilizado por el comando para mostrar la salida nunca se mostrará.
fuente
M-&
. Estaba usandoM-!
y luego agregando manualmente&
el comando que pasé al shell.Emacs tiene una función de propósito general para evitar que cualquier cambio involuntario (o de hecho intencional) en la configuración de la ventana cause problemas.
Añadir
(winner-mode 1)
a su archivo de inicio. Luego, cuando algo estropea tus ventanas, usa C-c<left>(winner-undo
) para restaurarlas. Puede usarlo repetidamente para deshacer cambios en la configuración de múltiples ventanas. C-c<right>(winner-redo
) lo regresa a la configuración más reciente.fuente
Aquí está mi configuración. Debería funcionar muy bien si estás en Linux.
No solo ocultará esos molestos búferes cuando, por ejemplo, abra un archivo pdf
dired
, sino que Evince persistirá incluso si cierra Emacs. También hay una pequeña personalización para poner en cola archivos de video marcados para una lista de reproducción vlc.fuente
Puede suprimir esa ventana para un solo comando en lugar de usar globalmente
let
fuente
(cons NEWTHING display-buffer-alist)
lugar de(list NEWTHING)
no inhibir completamente la lista original.