2016-04-14 3 views
0

öffnen ich bin mit der Emacs Neotree Plugin, das einen Dateibrowser Sidebar für Emacs bietet, und ich habe diese Funktion alle Puffer zu schließen, aber die aktuellen:Schließen Sie alle Puffer in Emacs aber bewahren neotree

(defun kill-other-buffers() 
    "Close all other buffers." 
    (interactive) 
    (mapc 'kill-buffer (delq (current-buffer) (buffer-list)))) 

Es funktioniert Ok, aber es schließt auch die Neotree-Navigation und ich möchte, dass sie offen bleibt. Irgendeine Idee, wie ich das schaffen kann?

+1

See: http://superuser.com/a/896020/206164 - sagt, wo es ' (außer (eq? \ s (aref name 0)). '' ändere es einfach in '(es sei denn (oder (eq? \ s (aref name 0)) (gleicher name (buffer-name (current-buffer))) (gleicher Name "* my favorite buffer *"))) "Wahrscheinlich willst du keine Puffer löschen, die am Anfang ihrer Namen ein Leerzeichen haben. – lawlist

+1

Ein großer +1 für den letzten Kommentar der Lawlist. Willkürlich töten." Alle internen Puffer ist keine gute Idee. – phils

Antwort

0

Da neo-buffer-name als *NeoTree* in neotreel.el definiert, sollte die folgende Änderung der Trick:

(mapc 'kill-buffer (delq neo-buffer-name (delq (current-buffer) (buffer-list))))