feat: Add god-mode modal editing with custom keybindings
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
"<escape>" '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
|
||||
"<escape>" 'god-mode-all
|
||||
"M-i" 'god-mode-all
|
||||
|
||||
;; buffer, file, and window
|
||||
"<f2>" 'open-init-file
|
||||
"<mouse-4>" '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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user