Respuestas:
Puede definir grupos de filtros para proyectos conocidos usando algo como esto:
;; 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)
Actualizar
Desde que originalmente escribí esta respuesta, @sanityinc ha creado una variante ibuffer-vc
que crea grupos de filtros por raíz del proyecto de proyectil. Puedes encontrarlo ibuffer-projectile
en MELPA o en GitHub .
projectile-switch-buffer
. Ibuffer está diseñado para administrar una gran cantidad de buffers, y es por eso que tiene agrupación y filtrado. Me gusta el enfoque actual que agrupa según la lista de proyectos conocidos, lo que lo hace más coherente con Projectile.
Proyecto se entiende en el sentido proyectil de la palabra.
Usando Projectile, hay una manera de cambiar a un buffer dentro de un proyecto específico C-c p b
¿Puedo sugerir ibuffer-vc ? Una forma de agrupar sus búferes por su directorio raíz padre vc.
ibuffer-vc
está bastante cerca de lo que estoy buscando. Pero sobreescribe mi ibuffer-saved-filter-groups
; ¿Hay alguna manera de crear los grupos de VC además de mis grupos estándar?
nox/ibuffer-apply-filter-groups
.