2012-01-12 9 views
8

Diverse estensioni di emacs creano buffer "junk" e devo rimuoverli manualmente da vari elenchi di buffer.Come posso rendere "nascosto" un buffer Emacs arbitrario?

Emacs ha un concetto di "buffer nascosti", che viene utilizzato ad esempio per il minibuffer.

Come posso rendere un buffer nascosto un buffer nascosto?

+0

Posto sbagliato per chiedere ... –

+0

@Ahmed Il posto giusto per chiedere, solo molto mal scritto. –

+2

@Trey Jackson Perché? Ho pensato che fosse abbastanza chiaro – sabof

risposta

13

Emacs ha un concetto di buffer non interessanti/nascosti e li designa come tali facendo sì che i loro nomi inizino con uno spazio. Vedere la documentazione per buffer names. Puoi rendere un buffer "non interessante" cambiando il suo nome per iniziare con uno spazio.

Prova Mx make-buffer-poco interessante:

(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 domanda: se si rinomina un buffer come questo, in che modo l'estensione originale saprà che è stata modificata. O, equivalentemente, c'è un modo semplice per nascondere un buffer senza confondere qualsiasi estensione lo stia usando? –

+0

Presumibilmente manterrà un riferimento all'oggetto buffer da qualche parte e lo troverà in questo modo. Poiché il nome cambia se apri un secondo buffer che sarebbe stato chiamato identicamente, la pratica dovrebbe essere abbastanza comune – sabof

+0

@Tikhon - ecco perché stavo dicendo che la domanda era scritta male, questa routine poteva rompere le estensioni (qualunque esse siano) se stanno cercando buffer per nome. Se tengono conto dei buffer in base al valore, sono ok b/c, solo il nome è cambiato ... –

4

Se si abilita ido (che si dovrebbe, perché io non so il motivo per cui si usa emacs senza di esso), allora si può configurato che tamponi vengono ignorati utilizzando l'elenco ido-ignore-buffers, che è un elenco dei buffer di specifica regex da ignorare per il normale passaggio del buffer. (davvero, dovresti usare l'ido se non lo sei già).

Problemi correlati