From 4e569a28315dfe7e20b5d959936965097263ed6e Mon Sep 17 00:00:00 2001 From: Zelong Kuang Date: Sat, 28 Feb 2026 19:27:53 +1100 Subject: [PATCH] Update --- .gitignore | 2 ++ init.el | 1 + lisp/init-better-default.el | 7 ++++--- lisp/init-coding.el | 6 +++--- lisp/init-edit.el | 12 ++++++++---- lisp/init-input.el | 9 +++++++++ lisp/init-ui.el | 4 +--- snippets/emacs-lisp-mode/provide | 5 +++++ 8 files changed, 33 insertions(+), 13 deletions(-) create mode 100644 lisp/init-input.el create mode 100644 snippets/emacs-lisp-mode/provide diff --git a/.gitignore b/.gitignore index 4d2a92f..0be3a75 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ /projects /bookmarks +rime *~ *.*~ \#* @@ -57,4 +58,5 @@ tabsession.el /persp-confs/ /tree-sitter/ /url/ +/undo-fu-session/ /..emacs.d-tabspaces-session.el diff --git a/init.el b/init.el index 4fe4dda..88ed8fd 100644 --- a/init.el +++ b/init.el @@ -10,6 +10,7 @@ (require 'init-utils) (require 'init-completion) +(require 'init-input) (require 'init-edit) (require 'init-window) diff --git a/lisp/init-better-default.el b/lisp/init-better-default.el index 1e98c5b..0f65ae2 100644 --- a/lisp/init-better-default.el +++ b/lisp/init-better-default.el @@ -45,9 +45,10 @@ :ensure nil :hook (elpaca-after-init . show-paren-mode)) -(setq-default show-trailing-whitespace t) +;; Show trailing whitespace only in prog-mode and text-mode +(add-hook 'prog-mode-hook (lambda () (setq show-trailing-whitespace t))) +(add-hook 'text-mode-hook (lambda () (setq show-trailing-whitespace t))) -(recentf-mode 1) (use-package recentf :ensure nil :hook (elpaca-after-init . recentf-mode) @@ -129,7 +130,7 @@ (lambda (button) (helpful-variable (button-get button 'apropos-symbol)))))))) -(setq auto-save-default nil) +(setq-default auto-save-default nil) ;; (setq auto-save-file-name-transforms ;; `((".*" ,(concat user-emacs-directory "auto-save/") t))) diff --git a/lisp/init-coding.el b/lisp/init-coding.el index 14e0d4a..806fcf4 100644 --- a/lisp/init-coding.el +++ b/lisp/init-coding.el @@ -15,16 +15,16 @@ ;; ("terminfo/65" "terminfo/65/*") ;; ("integration" "integration/*") ;; (:exclude ".dir-locals.el" "*-tests.el"))) -;; :config +;; :config ;; ) (use-package vterm) (use-package vterm-toggle - :bind ("C-\\" . vterm-toggle) + :bind ("C-`" . vterm-toggle) :config - (define-key vterm-mode-map (kbd "C-\\") #'vterm-toggle)) + (define-key vterm-mode-map (kbd "C-`") #'vterm-toggle)) (use-package editorconfig :diminish diff --git a/lisp/init-edit.el b/lisp/init-edit.el index db59f9a..ab643db 100644 --- a/lisp/init-edit.el +++ b/lisp/init-edit.el @@ -22,13 +22,13 @@ ;; whitespace in between, e.g. ()()(). Insert whitespace if ;; genuinely want to start a new form in the middle of a word. :unless '(sp-point-before-word-p sp-point-before-same-p))) - + (sp-local-pair sp-lisp-modes "(" ")" :unless '(:rem sp-point-before-same-p)) - + ;; Don't do square-bracket space-expansion where it doesn't make sense to (sp-local-pair '(emacs-lisp-mode org-mode markdown-mode markdown-ts-mode gfm-mode) "[" nil :post-handlers '(:rem ("| " "SPC"))) - + ;; resolve conflict with hungry-delete (defadvice hungry-delete-backward (before sp-delete-pair-advice activate) (save-match-data (sp-delete-pair (ad-get-arg 0))))) @@ -43,7 +43,7 @@ :init (setq hungry-delete-chars-to-skip " \t\f\v" hungry-delete-except-modes '(help-mode minibuffer-mode minibuffer-inactive-mode calc-mode))) - + (use-package abbrev :diminish :ensure nil @@ -105,6 +105,10 @@ :bind ("C-x u" . vundo) :config (setq vundo-glyph-alist vundo-unicode-symbols)) +;; Remember undo history +(use-package undo-fu-session + :hook (elpaca-after-init . undo-fu-session-global-mode)) + (use-package olivetti :hook org-mode :custom diff --git a/lisp/init-input.el b/lisp/init-input.el new file mode 100644 index 0000000..4e31063 --- /dev/null +++ b/lisp/init-input.el @@ -0,0 +1,9 @@ +;; -*- lexical-binding: t;-*- + +(use-package rime + :custom + (default-input-method "rime") + (rime-librime-root "/opt/homebrew") + (rime-emacs-module-header-root "~/build-emacs-for-macos/builds/Emacs.app/Contents/Resources/include/")) + +(provide 'init-input) diff --git a/lisp/init-ui.el b/lisp/init-ui.el index 3badf57..48bfd96 100644 --- a/lisp/init-ui.el +++ b/lisp/init-ui.el @@ -28,14 +28,12 @@ (mapc #'disable-theme custom-enabled-themes) (defun doric-load-random () (interactive) - (let* ((themes '(doric-plum - doric-fire + (let* ((themes '(doric-fire doric-oak doric-jade doric-wind doric-beach doric-earth - doric-water doric-valley)) (loaded (seq-random-elt themes))) (load-theme loaded :no-confirm))) diff --git a/snippets/emacs-lisp-mode/provide b/snippets/emacs-lisp-mode/provide new file mode 100644 index 0000000..a340442 --- /dev/null +++ b/snippets/emacs-lisp-mode/provide @@ -0,0 +1,5 @@ +# -*- mode: snippet -*- +# name: provide +# key: provide +# -- +(provide '${1:`(file-name-sans-extension (file-name-nondirectory (buffer-file-name)))`})$0 \ No newline at end of file