commit 65ae87180fbca48810d8fd401cf374410a2a87d9
parent 53a28cbb27015b983f8cd4a1b3335737d5390052
Author: andsy10 <andsy1016@gmail.com>
Date: Fri, 7 Aug 2026 16:19:42 +0800
Update keybindings and clean up config
Diffstat:
13 files changed, 53 insertions(+), 118 deletions(-)
diff --git a/lisp/init-base.el b/lisp/init-base.el
@@ -83,8 +83,7 @@
(unless *is-android*
(use-package async
:hook
- (after-init . dired-async-mode)
- (after-init . async-bytecomp-package-mode)))
+ (after-init . dired-async-mode)))
;; autorevert buffer
(use-package autorevert
@@ -221,8 +220,7 @@
(ibuffer-do-sort-by-alphabetic))))
(setq ibuffer-show-empty-filter-groups nil
- ibuffer-use-other-window t
- ibuffer-default-sorting-mode 'filename))
+ ibuffer-use-other-window t))
(use-package simple
:straight nil
diff --git a/lisp/init-completion.el b/lisp/init-completion.el
@@ -4,6 +4,12 @@
;;; Code:
+(use-package emacs
+ :custom
+ (tab-always-indent 'complete)
+ (text-mode-ispell-word-completion nil)
+ (read-extended-command-predicate #'command-completion-default-include-p))
+
;; minibuffer completion
(use-package vertico
:hook
@@ -36,8 +42,8 @@
(setq consult-locate-args "plocate --basename --ignore-case")))
;; help
- (define-key consult-narrow-map (vconcat consult-narrow-key "?") #'consult-narrow-help)
(setq consult-narrow-key "<")
+ (define-key consult-narrow-map (vconcat consult-narrow-key "?") #'consult-narrow-help)
;; xref
(setq xref-show-definitions-function #'consult-xref)
@@ -132,7 +138,8 @@ targets."
(corfu-quit consult-completion-in-region)
:bind
(:map corfu-map
- ("M-d" . corfu-popupinfo-documentation))
+ ("M-d" . corfu-popupinfo-documentation)
+ ("RET" . nil))
:custom
(corfu-auto t)
(corfu-auto-prefix 2)
@@ -155,12 +162,9 @@ targets."
;;Quit completion before saving
(add-hook 'before-save-hook #'corfu-quit)
(add-hook 'eshell-mode-hook
- (lambda ()
- (setq-local corfu-auto nil)
- (local-set-key (kbd "TAB") #'completion-at-point)))
- :bind
- (:map corfu-map
- ("RET" . nil)))
+ (lambda ()
+ (setq-local corfu-auto nil)
+ (local-set-key (kbd "TAB") #'completion-at-point))))
(if (not (and (display-graphic-p)
(>= emacs-major-version 31)))
@@ -168,19 +172,6 @@ targets."
:hook
(after-init . corfu-terminal-mode)))
-(use-package emacs
- :custom
- (tab-always-indent 'complete)
-
- ;; Emacs 30 and newer: Disable Ispell completion function.
- ;; Try `cape-dict' as an alternative.
- (text-mode-ispell-word-completion nil)
-
- ;; Hide commands in M-x which do not apply to the current mode. Corfu
- ;; commands are hidden, since they are not used via M-x. This setting is
- ;; useful beyond Corfu.
- (read-extended-command-predicate #'command-completion-default-include-p))
-
;; cape
(use-package cape
:commands (cape-file cape-elisp-block cape-keyword)
diff --git a/lisp/init-edit.el b/lisp/init-edit.el
@@ -48,8 +48,7 @@
;; better undo/redo
(use-package undo-fu
:config
- (setq undo-in-region t
- undo-fu-allow-undo-in-region t))
+ (setq undo-fu-allow-undo-in-region t))
;; save undo history across sessions
(use-package undo-fu-session
@@ -59,9 +58,9 @@
;; undo tree
(use-package vundo
:init
- (setq undo-limit 800000
- undo-strong-limit 1200000
- undo-outer-limit 12000000))
+ (setq undo-limit 67108864
+ undo-strong-limit 100663296
+ undo-outer-limit 1006632960))
;; expand-region
(use-package expand-region
@@ -77,10 +76,7 @@
(after-init . ace-pinyin-global-mode))
;; avy-zap
-(use-package avy-zap
- :bind
- (("M-z" . avy-zap-to-char-dwim)
- ("M-Z" . avy-zap-up-to-char-dwim)))
+(use-package avy-zap)
;; modal editing
(use-package god-mode
@@ -99,7 +95,7 @@
(let ((desired (if (and (bound-and-true-p god-local-mode) display-line-numbers-mode)
'relative
display-line-numbers-type)))
- (unless (or (eq display-line-numbers desired) (bound-and-true-p olivetti-mode))
+ (unless (or (eq display-line-numbers desired) (not display-line-numbers-mode))
(setq display-line-numbers desired))))
(add-hook 'post-command-hook #'my-sync-line-numbers-with-god-mode))
diff --git a/lisp/init-elpa.el b/lisp/init-elpa.el
@@ -22,8 +22,6 @@
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
-(setq straight-repository-branch t)
-
;; el-patch
(use-package el-patch
:straight t)
@@ -35,7 +33,7 @@
;; configure use-package
(setq use-package-always-defer t
use-package-expand-minimally t
- use-package-verbose t
+ use-package-verbose nil
straight-use-package-version t
straight-use-package-by-default t)
diff --git a/lisp/init-kbd-func.el b/lisp/init-kbd-func.el
@@ -5,9 +5,9 @@
;;; Code:
(defun open-init-file()
- "Open user's init.el file in ~/.emacs.d ."
+ "Open user's init.el file."
(interactive)
- (find-file "~/.emacs.d/init.el"))
+ (find-file user-init-file))
(when *is-windows*
(defun restart-emacs ()
@@ -26,6 +26,11 @@
(let ((case-fold-search nil))
(call-interactively #'query-replace)))
+(defun my-show-utc-time ()
+ "Display current UTC time in echo area."
+ (interactive)
+ (message (format-time-string "%Y-%m-%d %H:%M UTC" nil t)))
+
(defun my-jinx-smart-toggle ()
"Toggle jinx-mode smartly.
Disable jinx-mode if it's enable and global-jinx-mode is disable ,
@@ -286,11 +291,6 @@ value of the selected COLOR."
:history '(:input consult-colors-history))))
(insert color))
-(defun fix-theme-colors ()
- "Fix invalid color name in theme files."
- (interactive)
- (load-file (expand-file-name "~/.emacs.d/lisp/fix-theme-colors.el")))
-
(when *is-linux*
(defun reboot ()
"Execute loginctl reboot command."
diff --git a/lisp/init-kbd.el b/lisp/init-kbd.el
@@ -72,8 +72,10 @@
:prefix "C-x p"
"b" #'consult-project-buffer
"t" #'ghostel-project
- "r" #'my-consult-git-grep-project
- "R" #'project-query-replace-regexp
+ "g" #'my-consult-git-grep-project
+ "r" #'project-find-regexp
+ "R" #'project-or-external-find-regexp
+ "q" #'project-query-replace-regexp
"v" #'magit-project-status
"V" #'project-vc-dir
"i" #'project-ibuffer
@@ -82,11 +84,9 @@
;; v for version control
(general-def
:prefix "C-x v"
- "=" #'magit-diff-buffer-file
"c" #'magit-clone
"i" #'magit-init
- "l" #'magit-log-buffer-file
- "h" #'magit-log-buffer-file)
+ "l" #'magit-log-buffer-file)
;; t for modes toggle
(general-def
@@ -346,6 +346,8 @@
"C-c c" #'hydra-multiple-cursors/body
"C-S-<mouse-1>" #'mc/add-cursor-on-click
"C-x :" #'comment-kill
+ "M-z" #'avy-zap-to-char-dwim
+ "M-Z" #'avy-zap-up-to-char-dwim
;; undo
"C-/" #'undo-fu-only-undo
diff --git a/lisp/init-org.el b/lisp/init-org.el
@@ -8,7 +8,6 @@
:hook
(org-mode . org-indent-mode)
(org-mode . visual-line-mode)
- (org-mode . my-org-electric-pair-fix)
(org-mode . electric-pair-local-mode)
:init
@@ -34,15 +33,6 @@
(if *is-windows*
(add-hook 'org-mode-hook 'font-lock-update))
- (unless *is-windows*
- (add-hook 'org-mode 'jinx-mode))
-
- (defun my-org-electric-pair-fix ()
- (setq-local electric-pair-inhibit-predicate
- (lambda (char)
- (or (eq char ?<)
- (electric-pair-default-inhibit char)))))
-
;; show inline images
(setq org-startup-with-inline-images 'inlineimages)
@@ -99,8 +89,9 @@
denote-signature-history
'("note" "project" "fun" "wisdom" "article" "data" "metanote" "agenda" "journal" "archive")
denote-known-keywords
- '("emacs")
- denote-title-history nil))
+ '("emacs"))
+ (with-eval-after-load 'savehist
+ (add-to-list 'savehist-ignored-variables 'denote-title-history)))
;; denote-org
(use-package denote-org)
diff --git a/lisp/init-package.el b/lisp/init-package.el
@@ -61,16 +61,15 @@ _a_ : all dwim
:config
(setq jinx-languages "en_US")
(add-to-list 'jinx-exclude-regexps '(t "\\cc"))
- (with-eval-after-load 'jinx
- (dolist (range '((#x4E00 . #x9FFF)
- (#x3400 . #x4DBF)
- (#x3000 . #x303F)
- (#xFF00 . #xFFEF)
- (#x20000 . #x2A6DF)))
- (let ((start (car range))
- (end (cdr range)))
- (dotimes (i (- end start))
- (modify-syntax-entry (+ start i) "_" jinx--syntax-table))))))
+ (dolist (range '((#x4E00 . #x9FFF)
+ (#x3400 . #x4DBF)
+ (#x3000 . #x303F)
+ (#xFF00 . #xFFEF)
+ (#x20000 . #x2A6DF)))
+ (let ((start (car range))
+ (end (cdr range)))
+ (dotimes (i (- end start))
+ (modify-syntax-entry (+ start i) "_" jinx--syntax-table)))))
(use-package consult-jinx
:straight
@@ -143,8 +142,8 @@ _a_ : all dwim
(seq-uniq (append project-switch-commands
'((magit-project-status "Magit" ?v)
(ghostel-project "Ghostel" ?t)
- (project-query-replace-regexp "Query Replace" ?R)
- (consult-grep "Grep" ?r)
+ (project-query-replace-regexp "Query Replace" ?q)
+ (consult-grep "Grep" ?g)
(consult-project-buffer "Buffers" ?b)
(project-ibuffer "Ibuffer" ?i)
(pi-coding-agent "Pi" ?a))))))
diff --git a/lisp/init-prog.el b/lisp/init-prog.el
@@ -41,8 +41,7 @@
;; scheme
(use-package geiser
:config
- (with-eval-after-load 'geiser
- (setq geiser-default-implementation 'guile)))
+ (setq geiser-default-implementation 'guile))
(use-package geiser-guile)
diff --git a/lisp/init-startup.el b/lisp/init-startup.el
@@ -14,7 +14,6 @@
(set-file-name-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-next-selection-coding-system 'utf-8)
-(set-selection-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(setq locale-coding-system 'utf-8)
(setq system-time-locale "C")
@@ -23,7 +22,6 @@
(cond
(*is-mac*
(set-frame-parameter nil 'fullscreen 'fullscreen)
- (toggle-frame-fullscreen)
(global-unset-key (kbd "<f12>"))
(global-set-key (kbd "<f12>") #'toggle-frame-fullscreen))
(*is-windows*
@@ -41,9 +39,6 @@
(setq auto-save-file-name-transforms
`((".*" ,(expand-file-name "auto-save-list/" user-emacs-directory) t)))
-;; horizontal scroll
-(put 'scroll-left 'disabled nil)
-
;; disable lockfiles
(setq create-lockfiles nil)
@@ -96,6 +91,7 @@
;; disabled commands
(put 'narrow-to-region 'disabled nil)
+(put 'scroll-left 'disabled nil)
;; modifier keys on mac
(when *is-mac*
diff --git a/lisp/init-terminal.el b/lisp/init-terminal.el
@@ -15,7 +15,6 @@
(set-file-name-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-next-selection-coding-system 'utf-8)
-(set-selection-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(setq locale-coding-system 'utf-8)
(setq system-time-locale "C")
@@ -48,12 +47,6 @@
(add-to-list 'exec-path (expand-file-name "~/.guix-home/profile/bin/"))
(setenv "PATH" (concat (expand-file-name "~/.guix-home/profile/bin/") ":" (getenv "PATH")))))
-(global-auto-revert-mode 1)
-
-(when (display-graphic-p)
- (recentf-mode)
- (setq recentf-max-saved-items 30))
-
(delete-selection-mode)
(setq initial-scratch-message
@@ -119,22 +112,6 @@
:hook
(after-init . global-auto-revert-mode))
-(use-package savehist
- :init
- (setq enable-recursive-minibuffers t
- history-length 50
- savehist-additional-variables '(mark-ring
- global-mark-ring
- search-ring
- regexp-search-ring
- extended-command-history)
- savehist-autosave-interval 300)
- (savehist-mode))
-
-(use-package saveplace
- :init
- (save-place-mode))
-
(use-package icomplete
:init
(fido-mode)
@@ -298,14 +275,9 @@ there's a region, all lines that region covers will be duplicated."
(keymap-global-set "M-l" #'downcase-dwim)
(keymap-global-set "C-," #'crux-duplicate-current-line-or-region)
(keymap-global-set "M-y" #'yank-from-kill-ring)
-(keymap-global-set "M-z" #'avy-zap-to-char-dwim)
-(keymap-global-set "M-Z" #'avy-zap-up-to-char-dwim)
-(keymap-global-set "M-P" #'drag-stuff-up)
-(keymap-global-set "M-N" #'drag-stuff-down)
(keymap-global-set "C-M-@" #'er/mark-symbol)
(keymap-global-set "M-@" #'er/mark-word)
(keymap-global-set "C-M-h" #'backward-kill-sexp)
-(keymap-global-set "C-c e" #'er/expand-region)
(keymap-global-set "C-c k" #'comment-line)
;; undo
diff --git a/lisp/init-ui.el b/lisp/init-ui.el
@@ -5,7 +5,7 @@
;;; Code:
;; custom-theme-load-path
-(add-to-list 'custom-theme-load-path "~/.emacs.d/lisp/")
+(add-to-list 'custom-theme-load-path (concat user-emacs-directory "lisp/"))
;; trust all themes
(setq custom-safe-themes t)
diff --git a/lisp/init-window.el b/lisp/init-window.el
@@ -41,12 +41,8 @@
"^\\*Finder-"
"Buffers\\*$"
"^\\*Geiser"
- "\\*gptel-Kimi-Code\\*"
- "\\*gptel-agent:.*\\*"
- "^\\*OpenCode Sessions"
"^\\*pi-coding-agent-input"
"^\\*sly"
- "^magit"
"\\*discomfort\\*"
bookmark-bmenu-mode
lsp-bridge-ref-mode
@@ -54,14 +50,13 @@
compilation-mode
help-mode helpful-mode
tabulated-list-mode
- Buffer-menu-mode
+ buffer-menu-mode
occur-mode
gnus-article-mode devdocs-mode
grep-mode occur-mode rg-mode deadgrep-mode ag-mode pt-mode
ivy-occur-mode ivy-occur-grep-mode
process-menu-mode list-environment-mode cargo-process-mode
youdao-dictionary-mode osx-dictionary-mode fanyi-mode
- gptel-mode
ibuffer-mode
"^\\*eshell.*\\*.*$" eshell-mode
@@ -75,13 +70,11 @@
"\\*ELP Profiling Restuls\\*" profiler-report-mode
"\\*Flycheck errors\\*$" " \\*Flycheck checker\\*$"
"\\*Paradox Report\\*$" "\\*package update results\\*$" "\\*Package-Lint\\*$"
- "\\*[Wo]*Man.*\\*$"
"\\*ert\\*$" overseer-buffer-mode
"\\*gud-debug\\*$"
"\\*lsp-help\\*$" "\\*lsp session\\*$"
"\\*quickrun\\*$"
"\\*tldr\\*$"
- "\\*vc-.*\\*$"
"\\*eldoc\\*"
;; "^\\*elfeed-entry\\*$"
"^\\*macro expansion\\**"