This commit is contained in:
Zelong Kuang
2026-03-20 00:44:25 +11:00
parent de97f6e1cd
commit 570d0275f1
13 changed files with 603 additions and 66 deletions

View File

@@ -58,8 +58,7 @@
(use-package multiple-cursors
:hook elpaca-after-init
:bind (("C-c m" . multiple-cursors-hydra/body)
("C-S-c C-S-c" . mc/edit-lines)
:bind (("C-S-c C-S-c" . mc/edit-lines)
("C->" . mc/mark-next-like-this)
("C-<" . mc/mark-previous-like-this)
("C-c C-<" . mc/mark-all-like-this)
@@ -68,26 +67,7 @@
("s-<mouse-1>" . mc/add-cursor-on-click)
("C-S-<mouse-1>" . mc/add-cursor-on-click)
:map mc/keymap
("C-|" . mc/vertical-align-with-space))
:pretty-hydra
((:color amaranth :quit-key ("q" "C-g") :hint nil)
("Up"
(("p" mc/mark-previous-like-this "prev")
("P" mc/skip-to-previous-like-this "skip")
("M-p" mc/unmark-previous-like-this "unmark")
("|" mc/vertical-align "align with input CHAR"))
"Down"
(("n" mc/mark-next-like-this "next")
("N" mc/skip-to-next-like-this "skip")
("M-n" mc/unmark-next-like-this "unmark"))
"Misc"
(("l" mc/edit-lines "edit lines" :exit t)
("a" mc/mark-all-like-this "mark all" :exit t)
("s" mc/mark-all-in-region-regexp "search" :exit t)
("<mouse-1>" mc/add-cursor-on-click "click"))
"% 2(mc/num-cursors) cursor%s(if (> (mc/num-cursors) 1) \"s\" \"\")"
(("0" mc/insert-numbers "insert numbers" :exit t)
("A" mc/insert-letters "insert letters" :exit t)))))
("C-|" . mc/vertical-align-with-space)))
(use-package smart-region
:hook (after-init . smart-region-on))

View File

@@ -104,7 +104,7 @@ the element after the #+HEADER: tag."
"* %U %?\n%i\n%a" :prepend t))
org-todo-keywords
'((sequence "TODO(t)" "IN-PROGRESS(i)" "|" "DONE(d)" "NO(n)")))
'((sequence "TODO(t)" "IN-PROGRESS(i)" "ON-HOLD(h)" "|" "DONE(d)" "NO(n)")))
(add-to-list 'org-src-block-faces '("latex" (:inherit default :extend t)))
(add-hook 'org-after-refile-insert-hook
@@ -192,8 +192,9 @@ the element after the #+HEADER: tag."
:hook (org-mode . org-latex-preview-mode)
:hook (org-latex-preview-mode . org-latex-preview-center-mode)
:config
(plist-put org-latex-preview-appearance-options
:page-width 0.8)
;; Higher resolution when using dvipng
(plist-put org-latex-preview-appearance-options :page-width 0.6)
(plist-put org-latex-preview-appearance-options :scale 1.8)
;; ;; Block C-n, C-p etc from opening up previews when using `org-latex-preview-mode'
;; (setq org-latex-preview-mode-ignored-commands
@@ -202,6 +203,7 @@ the element after the #+HEADER: tag."
(setq org-latex-preview-numbered t)
(setq org-latex-preview-mode-display-live t)
(setq org-latex-preview-process-default 'dvipng)
(setq org-latex-preview-mode-update-delay 0.25)
(defun my/org-latex-preview-uncenter (ov)
(overlay-put ov 'before-string nil))
@@ -271,6 +273,8 @@ the element after the #+HEADER: tag."
("C-c n w" . org-roam-refile)
;; Dailies
("C-c n j" . org-roam-dailies-capture-today))
:bind (:map org-mode-map
("C-c C-x i" . org-id-get-create))
:config
;; If you're using a vertical completion framework, you might want a more informative completion interface
(setq org-roam-node-display-template (concat "${title:*} " (propertize "${tags:10}" 'face 'org-tag)))

View File

@@ -22,9 +22,12 @@
(TeX-source-correlate-method 'synctex)
(TeX-display-help t)
(TeX-show-compilation nil)
(TeX-command-extra-options "-shell-escape")
:config
(add-hook 'LaTeX-mode-hook (lambda ()
(setq TeX-command-default "LaTeXMk")))
;; Format math as a Latex string with Calc
(add-hook 'LaTeX-mode-hook #'eglot-ensure)
(defun latex-math-from-calc ()
@@ -45,7 +48,7 @@
calc-prefer-frac t
calc-angle-mode rad)))))))
;; (setq TeX-view-program-selection '((output-pdf "PDF Tools")))
(add-hook 'TeX-after-compilation-finished-functions #'TeX-revert-document-buffer)
;; (add-hook 'TeX-after-compilation-finished-functions #'TeX-revert-document-buffer)
(setq reftex-plug-into-AUCTeX t)

View File

@@ -29,48 +29,75 @@
(use-package solaire-mode
:hook (elpaca-after-init . solaire-global-mode))
(use-package standard-themes :demand t
:config
(modus-themes-load-theme 'standard-light))
;; (use-package doric-themes
;; :demand t
;; :bind ("<f5>" . doric-load-random)
;; :init
;; (defun doric-load-random ()
;; (interactive)
;; (mapc #'disable-theme custom-enabled-themes)
;; (let* ((themes '(doric-fire
;; doric-oak
;; doric-jade
;; doric-wind
;; doric-beach
;; doric-earth
;; doric-valley))
;; (loaded (seq-random-elt themes)))
;; (load-theme loaded :no-confirm)))
;; (doric-load-random)
;; )
(use-package modus-themes
:init
(setq modus-themes-italic-constructs t
modus-themes-bold-constructs t
modus-themes-mixed-fonts t))
;; (use-package standard-themes :demand t
;; :config
;; (modus-themes-load-theme 'standard-light-tinted))
(use-package doric-themes
:demand t
:bind ("<f5>" . doric-load-random)
:bind ("C-<f5>" . doric-load-random-light)
:bind ("M-<f5>" . doric-load-random-dark)
:init
(defvar my/doric-dark-themes
'(doric-fire
doric-valley
doric-walnut
doric-mermaid
doric-pine
doric-plum
doric-water))
(defvar my/doric-light-themes
'(doric-oak
doric-jade
doric-wind
doric-beach
doric-coral
doric-earth
doric-almond))
(defun doric-load-random ()
(interactive)
(mapc #'disable-theme custom-enabled-themes)
(let ((loaded (seq-random-elt (append my/doric-light-themes my/doric-dark-themes))))
(load-theme loaded :no-confirm)))
(defun doric-load-random-light ()
(interactive)
(mapc #'disable-theme custom-enabled-themes)
(let ((loaded (seq-random-elt my/doric-light-themes)))
(load-theme loaded :no-confirm)))
(defun doric-load-random-dark ()
(interactive)
(mapc #'disable-theme custom-enabled-themes)
(let ((loaded (seq-random-elt my/doric-dark-themes)))
(load-theme loaded :no-confirm)))
(doric-load-random))
(use-package rainbow-delimiters
:hook ((prog-mode . rainbow-delimiters-mode)
(typst-ts-mode . rainbow-delimiters-mode)
(foo-mode . rainbow-delimiters-mode)))
:hook ((prog-mode . rainbow-delimiters-mode)
(typst-ts-mode . rainbow-delimiters-mode)
(python-ts-mode . rainbow-delimiters-mode)))
;; (use-package prism
;; :hook (prog-mode . prism-mode)
;; :hook (text-mode . prism-mode)
;; :hook (typst-ts-mode . prism-mode)
;; :hook (python-ts-mode . prism-whitespace-mode)
;; :config
;; (setq prism-parens t))
(use-package rainbow-mode
:hook elpaca-after-init)
;; (use-package nano-theme
;; :ensure (nano-theme :type git :host github
;; :repo "rougier/nano-theme")
;; :init
;; (modus-themes-load-theme 'nano-dark))
;; (use-package mood-line
;; :hook elpaca-after-init)
(use-package doom-modeline
:hook (elpaca-after-init . doom-modeline-mode)
@@ -80,7 +107,9 @@
doom-modeline-buffer-file-name-style 'buffer-name
doom-modeline-enable-word-count t
doom-modeline-project-detection 'projectile
doom-modeline-project-name t))
doom-modeline-project-name t
doom-modeline-buffer-encoding nil
doom-modeline-major-mode-icon nil))
(use-package hide-mode-line
:autoload turn-off-hide-mode-line-mode
@@ -128,9 +157,9 @@
(use-package default-text-scale
:hook (elpaca-after-init . default-text-scale-mode)
:bind (:map default-text-scale-mode-map
("C-s-=" . default-text-scale-increase)
("C-s--" . default-text-scale-decrease)
("C-s-0" . default-text-scale-reset)))
("C-s-=" . default-text-scale-increase)
("C-s--" . default-text-scale-decrease)
("C-s-0" . default-text-scale-reset)))
(setq hscroll-step 1
hscroll-margin 2

View File

@@ -12,10 +12,13 @@
:config
(which-key-add-key-based-replacements "C-c n" "org-mode")
(which-key-add-key-based-replacements "C-c l" "llm")
(which-key-add-key-based-replacements "C-c s" "search")
(which-key-add-key-based-replacements "C-c s" "session")
(which-key-add-key-based-replacements "C-c f" "find")
(which-key-add-key-based-replacements "C-c p" "project")
(which-key-add-key-based-replacements "C-c !" "flycheck")
(which-key-add-key-based-replacements "C-c &" "yasnippet")
(which-key-add-key-based-replacements "C-c q" "quit")
(which-key-add-key-based-replacements "C-c C-w" "workspace")
(which-key-add-key-based-replacements "C-c w" "windows"))
(use-package grep

View File

@@ -37,12 +37,22 @@
("s-5" . eyebrowse-switch-to-window-config-5)
("s-6" . eyebrowse-switch-to-window-config-6)
("s-7" . eyebrowse-switch-to-window-config-7)
("s-8" . eyebrowse-switch-to-window-config-8))
("s-8" . eyebrowse-switch-to-window-config-8)
("C-c s l" . easysession-switch-to)
("C-c s L" . easysession-switch-to-and-restore-geometry)
("C-c s s" . easysession-save)
("C-c s r" . easysession-rename)
("C-c s R" . easysession-reset)
("C-c s u" . easysession-unload)
("C-c s d" . easysession-delete))
:custom
(easysession-switch-to-save-session t)
(easysession-switch-to-exclude-current nil)
:config
(setq easysession-setup-load-session t)
(easysession-setup))
(easysession-setup)
(easysession-magit-mode)
(easysession-scratch-mode))
(provide 'init-workspace)