diff --git a/lisp/init-elpa.el b/lisp/init-elpa.el index 9eb8bb5..e9d9886 100644 --- a/lisp/init-elpa.el +++ b/lisp/init-elpa.el @@ -41,10 +41,11 @@ ;; delight (use-package delight :init - (delight '((eldoc-mode nil eldoc) + (delight `((eldoc-mode nil eldoc) (org-indent-mode nil org-indent) (desktop-environment-mode nil desktop-environment) - (hs-minor-mode nil hideshow)))) + (hs-minor-mode nil hideshow) + (god-local-mode ,(propertize " THANK-GOD-MODE" 'face '(:foreground "#CE2825" :weight bold)) god-mode)))) ;; 安装gcmh用于管理内存回收 (use-package gcmh diff --git a/lisp/init-kbd.el b/lisp/init-kbd.el index af86619..ede2065 100644 --- a/lisp/init-kbd.el +++ b/lisp/init-kbd.el @@ -9,6 +9,14 @@ (setq mac-command-modifier 'meta) (setq mac-option-modifier 'none)) +;; god-mode +(general-def god-local-mode-map + "i" 'god-mode-all + "" 'god-mode-all + "[" 'backward-paragraph + "]" 'forward-paragraph + "." 'repeat) + ;; g for gptel (general-def :prefix "C-c g" @@ -165,7 +173,8 @@ "M-{" 'org-previous-visible-heading "M-}" 'org-next-visible-heading "C-," 'duplicate-and-move-to-next-line - "C-c o l" 'denote-link) + "C-c o l" 'denote-link + "C-a" 'org-beginning-of-line) ;; hs-hide-mode (general-def hs-minor-mode-map @@ -220,6 +229,10 @@ ;; global map (general-def + ;; god-mode + "" 'god-mode-all + "M-i" 'god-mode-all + ;; buffer, file, and window "" 'open-init-file "" 'previous-buffer @@ -229,6 +242,10 @@ "C-x C-b" 'ibuffer-other-window "C-x K" 'crux-kill-other-buffers "C-x b" 'consult-buffer + "C-x C-1" 'delete-other-windows + "C-x C-2" 'split-window-below + "C-x C-3" 'split-window-right + "C-x C-0" 'delete-window ;; edit "M-c" 'capitalize-dwim diff --git a/lisp/init-org.el b/lisp/init-org.el index 613c07a..a9b52ed 100644 --- a/lisp/init-org.el +++ b/lisp/init-org.el @@ -73,6 +73,8 @@ ;; denote (use-package denote + :init + (denote-rename-buffer-mode) :config (setq denote-directory "~/org/my-org-note/") (setq denote-prompts '(title signature keywords)) diff --git a/lisp/init-package.el b/lisp/init-package.el index 69474a2..05e4e88 100644 --- a/lisp/init-package.el +++ b/lisp/init-package.el @@ -158,6 +158,7 @@ targets." search-ring regexp-search-ring extended-command-history) + savehist-ignored-variables '(consult-notes-history) savehist-autosave-interval 300) (savehist-mode)) @@ -194,7 +195,7 @@ targets." ("C-x p b" . consult-project-buffer)) :config (setq projectile-enable-caching t)) - + ;; ibuffer (use-package ibuffer :config @@ -224,7 +225,7 @@ targets." (name . "^\\*Help\\*$") (name . "^\\*Custom.*") (name . "^\\*Org Agenda\\*$") - (name . "^\\*info\\*$") + (name . "^\\*info\\*$") (name . "^\\*Backtrace\\*$") (name . "^\\*Messages\\*$") (name . "*Chinese-word-segmentation*") @@ -326,6 +327,20 @@ targets." (?t "Types" font-lock-type-face) (?v "Variables" font-lock-variable-name-face))))))) +;; god-mode,模态编辑 +(use-package god-mode + :config + (setq god-mode-enable-function-key-translation nil) + + (defun god-mode-enable-relative-line-numbers () + (if god-local-mode + (setq display-line-numbers 'relative) + (setq display-line-numbers t))) + (add-hook 'god-local-mode-hook #'god-mode-enable-relative-line-numbers) + + (setq god-exempt-major-modes + (delete-dups (append '(diff-mode exwm-mode) god-exempt-major-modes)))) + ;; perspective,工作区管理 (use-package perspective :bind