chore(config): Update Emacs configuration with ibuffer and perspective improvements

This commit is contained in:
2026-05-11 22:12:31 +08:00
parent aa4dea523e
commit 61edd16f0c
11 changed files with 102 additions and 17 deletions

View File

@@ -194,13 +194,59 @@ targets."
("C-x p b" . consult-project-buffer))
:config
(setq projectile-enable-caching t))
;; ibuffer
(use-package ibuffer
:config
(setq ibuffer-saved-filter-groups
'(("Main"
("App" (mode . exwm-mode))
("Scratch" (or
(name . "^*scratch")))
("Shell" (or
(mode . eshell-mode)
(mode . eat-mode)
(mode . vterm-mode)))
("Scripts" (or
(mode . shell-script-mode)
(mode . shell-mode)
(mode . sh-mode)
(mode . lua-mode)
(mode . bat-mode)))
("Elisp" (mode . emacs-lisp-mode))
("Scheme" (or
(mode . scheme-mode)
(name . "^*Geiser")))
("Text" (or
(mode . org-mode)
(mode . markdown-mode)))
("Emacs" (or
(name . "^\\*Help\\*$")
(name . "^\\*Custom.*")
(name . "^\\*Org Agenda\\*$")
(name . "^\\*info\\*$")
(name . "^\\*Backtrace\\*$")
(name . "^\\*Messages\\*$")
(name . "*Chinese-word-segmentation*")
(name . "^*Buffer List*")
(name . "*Calendar*")))
("Magit" (or
(mode . magit-blame-mode)
(mode . magit-cherry-mode)
(mode . magit-diff-mode)
(mode . magit-log-mode)
(mode . magit-process-mode)
(mode . magit-status-mode)))
("Directories" (mode . dired-mode))
("Diff" (name . "^*Diff")))))
(use-package ibuffer-projectile
:init (add-hook 'ibuffer-hook
(lambda ()
(ibuffer-projectile-set-filter-groups)
(unless (eq ibuffer-sorting-mode 'alphabetic)
(ibuffer-do-sort-by-alphabetic)))))
(add-hook 'ibuffer-hook
(lambda () (ibuffer-switch-to-saved-filter-groups "Main")
(unless (eq ibuffer-sorting-mode 'alphabetic)
(ibuffer-do-sort-by-alphabetic))))
(setq ibuffer-show-empty-filter-groups nil)
(setq ibuffer-use-other-window t))
;; avy中文支持
(use-package ace-pinyin
@@ -296,7 +342,7 @@ targets."
(setq switch-to-prev-buffer-skip
(lambda (win buff bury-or-kill)
(not (persp-is-current-buffer buff))))
(setq persp-initial-frame-name "desktop"))
(setq persp-initial-frame-name "main"))
;; magit
(use-package magit)