Antworten:
Sie können Filtergruppen für bekannte Projekte folgendermaßen definieren:
;; Define ibuffer filter groups for each known project
(defun my/define-projectile-filter-groups ()
(when (boundp 'projectile-known-projects)
(setq my/project-filter-groups
(mapcar
(lambda (it)
(let ((name (file-name-nondirectory (directory-file-name it))))
`(,name (filename . ,(expand-file-name it)))))
projectile-known-projects))))
;; Set up default ibuffer filter groups
(setq ibuffer-saved-filter-groups
(list
(cons "default"
(append
(my/define-projectile-filter-groups)
;; ... whatever other groups you want, e.g.
'(("dired" (mode . dired-mode))
("erc" (mode . erc-mode)))
))))
;; Enable default groups by default
(add-hook 'ibuffer-mode-hook
(lambda ()
(ibuffer-switch-to-saved-filter-groups "default")))
;; You probably don't want to see empty project groups
(setq ibuffer-show-empty-filter-groups nil)
Aktualisieren
Seit ich diese Antwort ursprünglich geschrieben habe, hat @sanityinc eine Variante ibuffer-vc
erstellt, die Filtergruppen nach Projektilprojektstamm erstellt. Sie finden ibuffer-projectile
auf MELPA oder auf GitHub .
projectile-switch-buffer
. Ibuffer ist für die Verwaltung einer großen Anzahl von Puffern gedacht und verfügt daher über Gruppierung und Filterung. Ich mag den aktuellen Ansatz, den es basierend auf bekannten Projektlisten gruppiert, um es konsistenter mit Projectile zu machen.
Projekt ist im projektilen Sinne des Wortes gemeint.
Mit Projectile können Sie zu einem Puffer innerhalb eines bestimmten Projekts wechseln C-c p b
Darf ich ibuffer-vc vorschlagen ? Eine Möglichkeit, Ihre Puffer nach ihrem übergeordneten VC-Stammverzeichnis zu gruppieren.
ibuffer-vc
ist ziemlich nah an dem, wonach ich suche. Aber es überschreibt meine ibuffer-saved-filter-groups
; Gibt es eine Möglichkeit, die VC-Gruppen zusätzlich zu meinen Standardgruppen zu erstellen?
nox/ibuffer-apply-filter-groups
.