Config: switch consult-notes to fork version, add delight to clean mode-line, tidy package configs

This commit is contained in:
User
2026-05-09 16:55:32 +08:00
parent f419304684
commit 5ee06f8500
5 changed files with 137 additions and 102 deletions

View File

@@ -28,8 +28,8 @@
;; 从develop分支而不是main分支获取straight.el ;; 从develop分支而不是main分支获取straight.el
(setq straight-repository-branch t) (setq straight-repository-branch t)
;; 安装use-package ;; 安装use-packageemacs29以上别装
(straight-use-package 'use-package) ;; (straight-use-package 'use-package)
;; 配置 use-package ;; 配置 use-package
(setq use-package-always-defer t (setq use-package-always-defer t
@@ -38,8 +38,15 @@
straight-use-package-version t straight-use-package-version t
straight-use-package-by-default t) straight-use-package-by-default t)
;; delight
(use-package delight
:config
(delight '((eldoc-mode nil eldoc)
(org-indent-mode nil org))))
;; 安装gcmh用于管理内存回收 ;; 安装gcmh用于管理内存回收
(use-package gcmh (use-package gcmh
:delight
:demand t :demand t
:init :init
(setq gcmh-idle-delay 'auto (setq gcmh-idle-delay 'auto

View File

@@ -151,7 +151,6 @@
"C-<tab>" 'org-cycle-parent-subtree "C-<tab>" 'org-cycle-parent-subtree
"C-c i" 'consult-outline "C-c i" 'consult-outline
"C-c t l" 'org-toggle-link-display "C-c t l" 'org-toggle-link-display
"C-c C-k" 'kmacro-call-macroe
"M-{" 'org-previous-visible-heading "M-{" 'org-previous-visible-heading
"M-}" 'org-next-visible-heading) "M-}" 'org-next-visible-heading)
@@ -173,7 +172,7 @@
"c" 'hydra-multiple-cursors/body "c" 'hydra-multiple-cursors/body
"r" 'restart-emacs "r" 'restart-emacs
"e" 'er/expand-region "e" 'er/expand-region
"s" 'consult-focus-lines "s" 'consult-line
"i" 'consult-imenu "i" 'consult-imenu
"I" 'consult-imenu-multi "I" 'consult-imenu-multi
"a" 'org-agenda "a" 'org-agenda
@@ -181,8 +180,8 @@
"k" 'comment-line "k" 'comment-line
;; "v" 'vterm ;; "v" 'vterm
"E" 'eshell "E" 'eshell
"C-k" 'kmacro-call-macro "C-t" 'trashed
"C-t" 'trashed) "C-s" 'consult-focus-lines)
;; global map ;; global map
(general-def (general-def
@@ -221,10 +220,10 @@
"M-p" 'backward-paragraph "M-p" 'backward-paragraph
"M-n" 'forward-paragraph "M-n" 'forward-paragraph
"<mouse-2>" 'xref-find-definitions-at-mouse "<mouse-2>" 'xref-find-definitions-at-mouse
"C-s" 'consult-line
"C-M-;" 'avy-goto-char "C-M-;" 'avy-goto-char
"C-M-'" 'avy-goto-word-1 "C-M-'" 'avy-goto-word-1
"M-g g" 'avy-goto-line "M-g g" 'avy-goto-line
"M-g M-g" 'consult-goto-line
;; window ;; window
"M-<left>" 'shrink-window-horizontally "M-<left>" 'shrink-window-horizontally
@@ -238,8 +237,7 @@
;; other ;; other
"C-x r b" 'consult-bookmark "C-x r b" 'consult-bookmark
"C-;" 'embark-act "C-;" 'embark-act)
"<mouse-3>" 'global-tab-line-mode)
;; expand region ;; expand region
(setq expand-region-reset-fast-key "r") (setq expand-region-reset-fast-key "r")

View File

@@ -8,11 +8,11 @@
;; 一些随org-mode加载的基础配置 ;; 一些随org-mode加载的基础配置
(add-hook 'org-mode-hook (add-hook 'org-mode-hook
(lambda () (lambda ()
(require 'org-tempo) (require 'org-tempo)
(org-indent-mode) (org-indent-mode)
(visual-line-mode) (visual-line-mode)
(setq-local electric-pair-inhibit-predicate (setq-local electric-pair-inhibit-predicate
(lambda (char) (lambda (char)
(or (eq char ?<) (or (eq char ?<)
(electric-pair-default-inhibit char)))))) (electric-pair-default-inhibit char))))))
@@ -20,12 +20,12 @@
;; 预加载防止windows的org-mode加载卡顿 ;; 预加载防止windows的org-mode加载卡顿
(if *is-windows* (if *is-windows*
(progn (run-with-idle-timer (progn (run-with-idle-timer
0.5 nil 0.5 nil
(lambda () (lambda ()
(with-temp-buffer (with-temp-buffer
(org-mode) (org-mode)
(org-mode)) (org-mode))
(message "Org preloaded"))))) (message "Org preloaded")))))
;; 设置标题字体大小 ;; 设置标题字体大小
;; (with-eval-after-load 'org ;; (with-eval-after-load 'org
@@ -51,14 +51,11 @@
(cond (cond
(*is-windows* (*is-windows*
(setq org-agenda-files '("h:/emacs/hugo/this-is-my-blog/all-blog.org" (setq org-agenda-files '("h:/emacs/hugo/this-is-my-blog/all-blog.org"
"h:/emacs/my-org-daily/" "h:/emacs/my-org-daily/")))
"h:/emacs/my-org-note/")))
(*is-mac* (*is-mac*
(setq org-agenda-files '("~/org/my-org-daily" (setq org-agenda-files '("~/org/my-org-daily")))
"~/org/my-org-note/")))
(*is-linux* (*is-linux*
(setq org-agenda-files '("~/org/my-org-daily/" (setq org-agenda-files '("~/org/my-org-daily/"))))
"~/org/my-org-note/"))))
(setq org-agenda-span 'day) (setq org-agenda-span 'day)
(setq org-default-priority ?C) (setq org-default-priority ?C)
@@ -91,11 +88,16 @@
;; consult-notes ;; consult-notes
(use-package consult-notes (use-package consult-notes
:straight
'(consult-notes :fork (:host github :repo "Andsy10/consult-notes"))
:init :init
(consult-notes-denote-mode) (consult-notes-denote-mode)
:config :config
(setq consult-notes-file-dir-sources '(("Org Notes" ?n "~/org/my-org-note/" :hidden t) (setq consult-notes-file-dir-sources '(("Org Notes" ?n "~/org/my-org-note/" :hidden t)
("Org Journal" ?j "~/org/my-org-daily/" :hidden t)))) ("Org Journal" ?j "~/org/my-org-daily/" :hidden t)))
(setq consult-notes-denote-display-keywords-indicator "_")
(setq consult-notes-denote-display-id-format 'date)
(setq consult-notes-denote-display-signature t))
;; org-download ;; org-download
(use-package org-download (use-package org-download
@@ -118,7 +120,7 @@
(use-package org-journal (use-package org-journal
:config :config
(setq org-journal-file-format "%Y-%m-%d.org" (setq org-journal-file-format "%Y-%m-%d.org"
org-journal-file-header "#+category: journal\n#+STARTUP: content\n\n" org-journal-file-header "#+category: journal\n#+STARTUP: content\n\n"
org-journal-time-prefix "\n*** TODO " org-journal-time-prefix "\n*** TODO "
org-journal-time-format "%m-%d \n<%Y-%m-%d %a %H:%M:%S>\n" org-journal-time-format "%m-%d \n<%Y-%m-%d %a %H:%M:%S>\n"
org-journal-hide-entries-p t org-journal-hide-entries-p t
@@ -127,7 +129,7 @@
(format-time-string "%Y-%m-%d" time) (format-time-string "%Y-%m-%d" time)
(format-time-string "%a" time) (format-time-string "%a" time)
(format-time-string "%Y-%m-%d %a" time))) (format-time-string "%Y-%m-%d %a" time)))
org-journal-carryover-items "TODO=\"TODO\"|TODO=\"STARTED\"|TODO=\"WAITING\"|TODO=\"SOMEDAY\"") org-journal-carryover-items "TODO=\"TODO\"|TODO=\"STARTED\"|TODO=\"WAITING\"|TODO=\"SOMEDAY\"")
(if *is-windows* (if *is-windows*
(setq org-journal-dir "h:/emacs/my-org-daily/") (setq org-journal-dir "h:/emacs/my-org-daily/")
@@ -166,7 +168,7 @@
(funcall org-journal-find-file org-journal-file) (funcall org-journal-find-file org-journal-file)
(unless (org-journal--daily-p) (unless (org-journal--daily-p)
(org-journal--goto-entry date))) (org-journal--goto-entry date)))
(message "No journal entry for this date.")))) (message "No journal entry for this date."))))
(defun my/org-journal-mark-old-todos-as-comment (entries) (defun my/org-journal-mark-old-todos-as-comment (entries)
"Change TODO entry's TODO keyword to COMMENT after carryover." "Change TODO entry's TODO keyword to COMMENT after carryover."
@@ -176,23 +178,23 @@
org-todo-keywords-1)) org-todo-keywords-1))
(todo-pattern (when todo-keywords (todo-pattern (when todo-keywords
(regexp-opt todo-keywords 'words)))) (regexp-opt todo-keywords 'words))))
(when todo-pattern (when todo-pattern
(mapc (lambda (entry) (mapc (lambda (entry)
(let ((start (car entry)) (let ((start (car entry))
(end (set-marker (make-marker) (cadr entry)))) (end (set-marker (make-marker) (cadr entry))))
(goto-char start) (goto-char start)
(while (re-search-forward (concat "^\\(\\*+ \\)" todo-pattern) end t) (while (re-search-forward (concat "^\\(\\*+ \\)" todo-pattern) end t)
(replace-match "\\1COMMENT" t nil)) (replace-match "\\1COMMENT" t nil))
(set-marker end nil))) (set-marker end nil)))
(reverse entries)))) (reverse entries))))
(save-buffer))) (save-buffer)))
(setq org-journal-handle-old-carryover-fn #'my/org-journal-mark-old-todos-as-comment) (setq org-journal-handle-old-carryover-fn #'my/org-journal-mark-old-todos-as-comment)
;; 在org-journal加载cns-mode ;; 在org-journal加载cns-mode
(add-hook 'org-journal-mode-hook (add-hook 'org-journal-mode-hook
(lambda () (lambda ()
(global-cns-mode-enable-in-buffer)))) (global-cns-mode-enable-in-buffer))))
;; org-ql ;; org-ql
(use-package org-ql (use-package org-ql
@@ -226,29 +228,29 @@
(setq org-agenda-custom-commands (setq org-agenda-custom-commands
'(("pa" "Priority >= A" '(("pa" "Priority >= A"
((tags-todo "+PRIORITY=\"A\""))) ((tags-todo "+PRIORITY=\"A\"")))
("pb" "Priority >= B" ("pb" "Priority >= B"
((tags-todo "+PRIORITY<=\"B\""))) ((tags-todo "+PRIORITY<=\"B\"")))
("pc" "Priority >= C" ("pc" "Priority >= C"
((tags-todo "+PRIORITY<=\"C\""))) ((tags-todo "+PRIORITY<=\"C\"")))
("qd" "TODO entries sort by closed time" ("qd" "TODO entries sort by closed time"
((org-ql-block '(closed) ((org-ql-block '(closed)
((org-ql-block-header "Closed TODOs") ((org-ql-block-header "Closed TODOs")
(org-ql-sort '(closed)) (org-ql-sort '(closed))
(org-super-agenda-groups (org-super-agenda-groups
'((:auto-ts t))))))) '((:auto-ts t)))))))
("qS" "SOMEDAYs" ("qS" "SOMEDAYs"
((org-ql-block '(todo "SOMEDAY") ((org-ql-block '(todo "SOMEDAY")
((org-ql-block-header "SOMEDAYs") ((org-ql-block-header "SOMEDAYs")
(org-ql-sort '(start-time)) (org-ql-sort '(start-time))
(org-super-agenda-groups (org-super-agenda-groups
'((:auto-ts t))))))) '((:auto-ts t)))))))
("qs" "STARTEDs" ("qs" "STARTEDs"
((org-ql-block '(todo "STARTED") ((org-ql-block '(todo "STARTED")
((org-ql-block-header "STARTEDs") ((org-ql-block-header "STARTEDs")
(org-ql-sort '(start-time)) (org-ql-sort '(start-time))
(org-super-agenda-groups (org-super-agenda-groups
'((:auto-ts t))))))) '((:auto-ts t)))))))
("qt" "TODOs sort by start time" ("qt" "TODOs sort by start time"
((org-ql-block '(todo) ((org-ql-block '(todo)
((org-ql-block-header "TODOs") ((org-ql-block-header "TODOs")
(org-ql-sort '(start-time)) (org-ql-sort '(start-time))
@@ -380,8 +382,8 @@ See `org-capture-templates' for more information."
(message "Pushing to remote...") (message "Pushing to remote...")
(let ((exit-code (eshell-command "git push"))) (let ((exit-code (eshell-command "git push")))
(if (eq exit-code t) (if (eq exit-code t)
(message "Push may have failed or nothing to push, check *Messages* buffer for details") (message "Push may have failed or nothing to push, check *Messages* buffer for details")
(message "Push successfully %s" timestamp))))) (message "Push successfully %s" timestamp)))))
;; 预览博客 ;; 预览博客
(defun my-blog-preview () (defun my-blog-preview ()

View File

@@ -6,22 +6,20 @@
(setopt use-package-enable-imenu-support t) (setopt use-package-enable-imenu-support t)
;; 安装gcmh用于管理内存回收
(use-package gcmh
:demand t
:init
(setq gcmh-idle-delay 'auto
gcmh-auto-idle-delay-factor 10
gcmh-high-cons-threshold #x4000000)
:config
(gcmh-mode 1))
;; restart-emacs ;; restart-emacs
(use-package restart-emacs) (use-package restart-emacs)
;; async
(use-package async
:init
(dired-async-mode)
(async-bytecomp-package-mode 1)
(setq async-bytecomp-allowed-packages '(all)))
;; 安装multiple-cursors ;; 安装multiple-cursors
(use-package multiple-cursors (use-package multiple-cursors
:config (setq mc/insert-numbers-default 1)) :config
(setq mc/insert-numbers-default 1))
;; 安装crux增强快捷键快捷键配置在init-kbd.el中 ;; 安装crux增强快捷键快捷键配置在init-kbd.el中
(use-package crux) (use-package crux)
@@ -34,6 +32,7 @@
;; 安装which-key快捷键提示 ;; 安装which-key快捷键提示
(use-package which-key (use-package which-key
:delight
:defer 0 :defer 0
:config :config
(which-key-mode)) (which-key-mode))
@@ -43,20 +42,22 @@
;; 安装vertico ;; 安装vertico
(use-package vertico (use-package vertico
:init (vertico-mode)) :init
(vertico-mode))
;; 安装orderless用于模糊搜索 ;; 安装orderless用于模糊搜索
(use-package orderless (use-package orderless
:custom (completion-styles '(orderless basic))) :custom
(completion-styles '(orderless basic)))
;; 安装marginalia用于命令注释 ;; 安装marginalia用于命令注释
(use-package marginalia (use-package marginalia
:init (marginalia-mode)) :init
(marginalia-mode))
;; 安装consult增强搜索和其他菜单 ;; 安装consult增强搜索和其他菜单
(use-package consult (use-package consult
:config :config
;; everything ;; everything
(when *is-windows* (when *is-windows*
(setq consult-locate-args (encode-coding-string "es.exe -i -p -r" 'gbk)) (setq consult-locate-args (encode-coding-string "es.exe -i -p -r" 'gbk))
@@ -75,7 +76,8 @@
;; embark ;; embark
(use-package embark (use-package embark
:config (setq prefix-help-command 'embark-prefix-help-command) :config
(setq prefix-help-command 'embark-prefix-help-command)
:init :init
(defun my/embark-preview () (defun my/embark-preview ()
"Previews candidate in vertico buffer, unless it's a consult command." "Previews candidate in vertico buffer, unless it's a consult command."
@@ -141,44 +143,58 @@ targets."
;; wgrep ;; wgrep
(use-package wgrep) (use-package wgrep)
;; anzu
(use-package anzu
:delight
:init
(global-anzu-mode))
;; 启用savehist保存命令顺序 ;; 启用savehist保存命令顺序
(use-package savehist (use-package savehist
:init (setq enable-recursive-minibuffers t :init
history-length 50 (setq enable-recursive-minibuffers t
savehist-additional-variables '(mark-ring history-length 50
global-mark-ring savehist-additional-variables '(mark-ring
search-ring global-mark-ring
regexp-search-ring search-ring
extended-command-history) regexp-search-ring
savehist-autosave-interval 300) extended-command-history)
savehist-autosave-interval 300)
(savehist-mode)) (savehist-mode))
;; saveplace保存光标位置 ;; saveplace保存光标位置
(use-package saveplace (use-package saveplace
:init (save-place-mode)) :init
(save-place-mode))
;; undo增强 ;; undo增强
(use-package undo-fu) (use-package undo-fu)
(use-package undo-fu-session (use-package undo-fu-session
:init (undo-fu-session-global-mode)) :init
(undo-fu-session-global-mode))
;; vundo撤回树 ;; vundo撤回树
(use-package vundo (use-package vundo
:init (setq undo-limit 800000 :init
undo-strong-limit 1200000 (setq undo-limit 800000
undo-outer-limit 12000000)) undo-strong-limit 1200000
undo-outer-limit 12000000))
;; expand-region快速展开选中 ;; expand-region快速展开选中
(use-package expand-region) (use-package expand-region)
;; projectile ;; projectile
(use-package projectile (use-package projectile
:init (projectile-mode) :delight
:bind (:map projectile-mode-map :init
("C-x p" . projectile-command-map) (projectile-mode)
("C-x p b" . consult-project-buffer)) :bind
:config (setq projectile-enable-caching t)) (:map projectile-mode-map
("C-x p" . projectile-command-map)
("C-x p b" . consult-project-buffer))
:config
(setq projectile-enable-caching t))
(use-package ibuffer-projectile (use-package ibuffer-projectile
:init (add-hook 'ibuffer-hook :init (add-hook 'ibuffer-hook
@@ -189,19 +205,27 @@ targets."
;; avy中文支持 ;; avy中文支持
(use-package ace-pinyin (use-package ace-pinyin
:init (ace-pinyin-global-mode +1)) :delight
:init
(ace-pinyin-global-mode +1))
;; avy-zap ;; avy-zap
(use-package avy-zap (use-package avy-zap
:bind (("M-z" . avy-zap-to-char-dwim) :bind
("M-Z" . avy-zap-up-to-char-dwim))) (("M-z" . avy-zap-to-char-dwim)
("M-Z" . avy-zap-up-to-char-dwim)))
;; jinx拼写检查 ;; jinx拼写检查
(unless *is-windows* (unless *is-windows*
(use-package jinx (use-package jinx
:hook (org-mode-hook . jinx-mode) :delight
:bind ([remap ispell-word] . jinx-correct) (jinx-mode " Jinx" jinx)
:config (setq jinx-languages "en_US") :hook
(org-mode-hook . jinx-mode)
:bind
([remap ispell-word] . jinx-correct)
:config
(setq jinx-languages "en_US")
(add-to-list 'jinx-exclude-regexps '(t "\\cc")) (add-to-list 'jinx-exclude-regexps '(t "\\cc"))
(with-eval-after-load 'jinx (with-eval-after-load 'jinx
(dolist (range '((#x4E00 . #x9FFF) (dolist (range '((#x4E00 . #x9FFF)
@@ -219,8 +243,9 @@ targets."
(use-package flycheck) (use-package flycheck)
(use-package flycheck-guile (use-package flycheck-guile
:hook (scheme-mode . (lambda () :hook
(require 'flycheck-guile)))) (scheme-mode . (lambda ()
(require 'flycheck-guile))))
;; consult-flycheck ;; consult-flycheck
(use-package consult-flycheck) (use-package consult-flycheck)
@@ -231,27 +256,31 @@ targets."
;; eat ;; eat
(use-package eat (use-package eat
:straight (eat :type git :straight
:host codeberg (eat :type git
:repo "akib/emacs-eat" :host codeberg
:files ("*.el" :repo "akib/emacs-eat"
("term" "term/*.el") :files ("*.el"
"*.texi" ("term" "term/*.el")
"*.ti" "*.texi"
("terminfo/e" "terminfo/e/*") "*.ti"
("terminfo/65" "terminfo/65/*") ("terminfo/e" "terminfo/e/*")
("integration" "integration/*") ("terminfo/65" "terminfo/65/*")
(:exclude ".dir-locals.el" "*-tests.el"))) ("integration" "integration/*")
:hook ((eshell-load . eat-eshell-mode) (:exclude ".dir-locals.el" "*-tests.el")))
(eshell-load . eat-eshell-visual-command-mode)) :hook
:config (setq eat-term-terminfo-directory eat--terminfo-path)) ((eshell-load . eat-eshell-mode)
(eshell-load . eat-eshell-visual-command-mode))
:config
(setq eat-term-terminfo-directory eat--terminfo-path))
;; general ;; general
(use-package general) (use-package general)
;; hydra ;; hydra
(use-package hydra (use-package hydra
:defines (consult-imenu-config) :defines
(consult-imenu-config)
:init :init
(with-eval-after-load 'consult-imenu (with-eval-after-load 'consult-imenu
(setq consult-imenu-config (setq consult-imenu-config

View File

@@ -6,7 +6,6 @@
;; tree-sitter ;; tree-sitter
(use-package treesit-auto (use-package treesit-auto
:demand t
:config :config
(setq treesit-auto-install 'prompt) (setq treesit-auto-install 'prompt)
(global-treesit-auto-mode) (global-treesit-auto-mode)