2012-01-12 5 views
8

Varias extensiones de emacs crean búferes "basura", y tengo que eliminarlos manualmente de varias listas de búfer.¿Cómo puedo hacer que un búfer de Emacs arbitrario sea "oculto"?

Emacs tiene un concepto de "búfers ocultos", que se utiliza, por ejemplo, para el minibúfer.

¿Cómo puedo convertir un buffer arbitrario en un buffer oculto?

+0

Lugar equivocado para preguntar ... –

+0

@Ahmed Lugar adecuado para preguntar, muy mal escrito. –

+2

@Trey Jackson ¿Por qué? Pensé que era bastante claro – sabof

Respuesta

13

Emacs tiene un concepto de búferes poco interesantes/ocultos y los designa como tales haciendo que sus nombres comiencen con un espacio. Consulte la documentación para buffer names. Puede hacer que un buffer sea "poco interesante" cambiando su nombre para comenzar con un espacio.

Trate Mx make-buffer-sin interés:

(defun make-buffer-uninteresting() 
    "rename the current buffer to begin with a space" 
    (interactive) 
    (unless (string-match-p "^ " (buffer-name)) 
    (rename-buffer (concat " " (buffer-name))))) 
+0

Una pregunta: si cambia el nombre de un búfer como este, ¿cómo sabrá la extensión original que lo cambió? O, de forma equivalente, ¿hay alguna manera fácil de ocultar un búfer sin confundir la extensión que lo está usando? –

+0

Presumiblemente, mantendrá una referencia al objeto de memoria intermedia en algún lugar, y lo encontrará de esta manera. Dado que el nombre cambia si abre un segundo búfer que hubiera sido nombrado de manera idéntica, la práctica debería ser bastante común – sabof

+0

@Tikhon - por eso estaba diciendo que la pregunta estaba mal escrita, esta rutina podría romper las extensiones (lo que sea que sean) si están buscando almacenamientos intermedios por su nombre. Si realizan un seguimiento de los búferes por valor, están bien b/c, solo el nombre cambió ... –

4

Si habilita ido (que debe, porque yo no sé por qué se usaría emacs sin ella), entonces usted puede configurar que amortigua se ignoran utilizando la lista ido-ignore-buffers, que es una lista de los búferes específicos de regex que se deben ignorar para la conmutación de búfer normal. (Realmente, deberías estar usando ido si aún no lo estás).

Cuestiones relacionadas