feat(config): Improve dired, keybindings, terminal UI and add packages

- Add dired buffer killing and custom dirvish layout toggle
- Replace ido with fido-mode in terminal config
- Add custom terminal color theme with 24-bit color support
- Add new packages: tokei, helpful, gptel-magit
- Refactor project keybindings under C-x p prefix
- Add mwim navigation bindings globally
- Improve ibuffer filter groups and consult buffer filters
- Add diff-mode keybindings and refine magit diff display
This commit is contained in:
2026-06-03 20:29:01 +08:00
parent 35fd3dfd27
commit 8db37d1c6d
13 changed files with 235 additions and 83 deletions

View File

@@ -16,15 +16,75 @@
(set-language-environment "UTF-8")
(prefer-coding-system 'utf-8)))
;; 主题
;; (load-theme 'tango-dark)
;; 显示文件大小
(size-indication-mode t)
;; 显示行号列号
(column-number-mode t)
;; 高亮
(global-hl-line-mode t)
;; 主题
(if (>= (display-color-cells) 16777216)
(progn
(defvar base03 "#062624")
(defvar base02 "#0c2b29")
(defvar base01 "#4d6967")
(defvar base00 "#728e8c")
(defvar cyan "#01928d")
(defvar blue "#2570cd")
(defvar green "#3a9c36")
(defvar magenta "#d33682")
(defvar yellow "#a87c04")
(defvar orange "#c24713")
(defvar red "#ce2825")
(custom-set-faces
`(default ((t (:foreground ,base00 :background ,base03))))
`(cursor ((t (:inverse t))))
`(region ((t (:exdend t :foreground ,base03 :background ,base00))))
`(shadow ((t (:foreground ,base01))))
`(error ((t (:foreground ,orange))))
`(font-lock-builtin-face ((t (:foreground ,base00 :weight bold :slant normal))))
`(font-lock-comment-face ((t (:foreground ,base01))))
`(font-lock-keyword-face ((t (:foreground ,cyan :weight bold))))
`(font-lock-variable-name-face ((t (:foreground ,blue))))
`(font-lock-constant-face ((t (:foreground ,blue :weight bold))))
`(font-lock-string-face ((t (:foreground ,green))))
`(font-lock-type-face ((t (:foreground ,yellow))))
`(font-lock-function-name-face ((t (:foreground ,blue))))
`(hl-line ((t (:background ,base02 :extend t))))
`(show-paren-match ((t (:foreground ,magenta :weight bold))))
`(show-paren-mismatch ((t (:foreground ,base03 :background ,red))))
`(icomplete-first-match ((t (:foreground ,yellow :weight bold))))
`(completions-common-part ((t (:foreground ,blue))))
`(minibuffer-prompt ((t (:foreground ,base01 :weight bold))))
`(line-number ((t (:foreground ,base01 :weight extra-light))))
`(button ((t (:foreground ,base00 :underline t))))
`(mode-line ((t (:background ,base00 :foreground ,base03))))
`(mode-line-inactive ((t (:background ,base02 :foreground ,base00))))
`(dired-header ((t (:foreground ,green))))
`(dired-directory ((t (:foreground ,blue))))
`(dired-ignored ((t (:foreground ,base01))))
`(isearch ((t (:background ,magenta :foreground ,base03))))
`(lazy-highlight ((t (:background ,yellow :foreground ,base03))))
`(isearch-fail ((t (:foreground ,red))))
`(org-block ((t (:inhert default))))
`(org-document-title ((t (:inhert default :weight bold))))
`(org-document-info ((t (:inhert org-document-title))))
`(eshell-prompt ((t (:foreground ,yellow :weight bold))))
`(diff-header ((t (:foreground ,base00 :background ,base02))))
`(diff-file-header ((t (:inherit: diff-header :weight bold))))
`(diff-hunk-header ((t (:foreground "#c1a059" :background "#253224"))))
`(diff-added ((t (:foreground "#73b971" :background "#103628"))))
`(diff-refine-added ((t (:foreground "#8cc78d" :background "#1d522e"))))
`(diff-removed ((t (:foreground "#e17360" :background "#2d2c25"))))
`(diff-refine-removed ((t (:foreground "#e7917f" :background "#5c3225"))))))
(progn
(global-hl-line-mode nil)))
(provide 'init-terminal-ui)
;;; init-terminal-ui.el ends here