aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorverdant <im@verdant.ee>2026-07-01 09:31:17 +0800
committerverdant <im@verdant.ee>2026-07-01 09:31:17 +0800
commit419aae18be6f76539ffbdd44edba4e953ac041c0 (patch)
tree9925155e15e15a4d76e2159d65338b05d99b01f9
parentdb6d244ba875285e41868088a59e670ac0045b8f (diff)
downloadvemacs-419aae18be6f76539ffbdd44edba4e953ac041c0.tar.gz
vemacs-419aae18be6f76539ffbdd44edba4e953ac041c0.zip
Package: remove evil, dashboard, ivy-posframe configure
yasnippet, mu4e Configuration: - Markdown: Add (setup-markdown-writing-environment) when enable markdown-mode and org-mode. - Add pdf-tools
-rw-r--r--config.org185
1 files changed, 120 insertions, 65 deletions
diff --git a/config.org b/config.org
index 6a3d299..c35372e 100644
--- a/config.org
+++ b/config.org
@@ -3,7 +3,7 @@
* 启动
#+begin_src emacs-lisp
- ;; -*- lexical-binding: t; -*-
+ ;; -*- lexical-binding: t; -*-
#+end_src
** 个人信息
#+begin_src emacs-lisp
@@ -12,7 +12,6 @@
#+end_src
** 包源
#+begin_src emacs-lisp
-
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/") t)
@@ -20,30 +19,12 @@
(add-to-list 'package-archives '("nongnu" . "https://mirrors.ustc.edu.cn/elpa/nongnu/") t)
#+end_src
* 编辑相关
-** Evil
-#+begin_src emacs-lisp
- (use-package evil
- :init
- (setq evil-want-keybinding nil
- evil-want-C-u-scroll t)
- :config
- (evil-define-key 'normal org-mode-map (kbd "<tab>") #'org-cycle)
- ;;(evil-mode)
- :ensure nil)
- (use-package evil-collection
- :after evil
- :ensure t
- :init
- (setq evil-collection-mode-list '(dired ibuffer bindings))
- :config
- (evil-collection-init))
-#+end_src
-
-** 高亮当前行
+** 保存自动格式化
#+begin_src emacs-lisp
- (global-hl-line-mode)
+ (add-hook 'c-mode-hook
+ (lambda ()
+ (add-hook 'before-save-hook #'clang-format-buffer nil t)))
#+end_src
-
** 自动匹配括号
#+begin_src emacs-lisp
(electric-pair-mode)
@@ -54,30 +35,24 @@
:ensure t
:config
(setq yas-snippet-dirs
- '("~/.emacs.d/snippets"))
+ '("~/.emacs.d/snippets"))
(yas-global-mode 1))
#+end_src
-* 编程
-** sis
+
+** Compile command
#+begin_src emacs-lisp
- (use-package sis
- :config
- (sis-ism-lazyman-config "1" "2" 'fcitx5)
- (sis-global-cursor-color-mode t)
- ;; 启用 /respect/ 模式
- (sis-global-respect-mode t)
- ;; 为所有缓冲区启用 /context/ 模式
- (sis-global-context-mode t)
- ;; 为所有缓冲区启用 /inline english/ 模式
- (sis-global-inline-mode t)
- (with-eval-after-load 'evil
- ;; 强制在进入插入模式时触发 sis 的恢复逻辑
- ;;(add-hook 'evil-insert-state-entry-hook #'sis-context-restore)
- ; (add-hook 'evil-insert-state-entry-hook #'sis-set-chinese))
- ))
+(global-set-key (kbd "C-c c") 'compile)
+#+end_src
+
+** GDScript Mode
+#+begin_src emacs-lisp
+(use-package gdscript-mode
+ :ensure t
+ :hook (gdscript-mode . eglot-ensure))
#+end_src
+* 编程
** ivy
#+begin_src emacs-lisp
(use-package ivy
@@ -170,6 +145,7 @@
(global-flycheck-mode)
#+end_src
* Dired
+** 默认设置
#+begin_src emacs-lisp
(setq dired-recursive-copies 'always)
(setq dired-recursive-deletes 'always)
@@ -187,11 +163,6 @@
(defun dired-sort-time () (interactive) (dired-sort-other (concat dired-listing-switches "t")))
(defun dired-sort-name () (interactive) (dired-sort-other (concat dired-listing-switches "")))
- (with-eval-after-load 'dired
- (evil-define-key 'normal dired-mode-map
- (kbd "h") #'dired-up-directory
- (kbd "l") #'dired-find-file))
-
(add-hook 'dired-mode-hook
(lambda ()
(define-key dired-mode-map (kbd "C-b") nil)
@@ -201,6 +172,28 @@
(global-auto-revert-mode t)
#+end_src
+
+** 目录排在文件之前
+#+begin_src emacs-lisp
+ ;; https://kuanyui.github.io/2014/06/21/dired-tutorial-and-essential-configs/
+ (defun dired-directory-sort ()
+ "Dired sort hook to list directories first."
+ (save-excursion
+ (let (buffer-read-only)
+ (forward-line 2) ;; beyond dir. header
+ (sort-regexp-fields t "^.*$" "[ ]*." (point) (point-max))))
+ (and (featurep 'xemacs)
+ (fboundp 'dired-insert-set-properties)
+ (dired-insert-set-properties (point-min) (point-max)))
+ (set-buffer-modified-p nil))
+
+ (add-hook 'dired-after-readin-hook 'dired-directory-sort)
+#+end_src
+
+** 使用 KB / MB 显示文件大小
+#+begin_src emacs-lisp
+ (setq dired-listing-switches "-alh")
+#+end_src
* 邮件
** mu4e
这个东西的配置实在是太庞大了,懒得细拆了。
@@ -268,7 +261,7 @@
:init
(setq mu4e-debug t)
-
+
(setq message-send-mail-function 'sendmail-send-it
sendmail-program "/usr/bin/msmtp"
mail-specify-envelope-from t
@@ -291,12 +284,24 @@
:name "Verdant"
:match-func (lambda (msg)
(when msg
- (string-prefix-p "/ljc" (mu4e-message-field msg :maildir))))
+ (string-prefix-p "/verdant" (mu4e-message-field msg :maildir))))
:vars '((mu4e-sent-folder . "/Verdant/Sent")
(mu4e-trash-folder . "/Verdant/Trash")
(mu4e-refile-folder . "/Verdant/Archive")
(mu4e-drafts-folder . "/Verdant/Drafts")
- (user-mail-address . "im@verdant.ee")))))
+ (user-mail-address . "im@verdant.ee")))
+
+ (make-mu4e-context
+ :name "Outlook"
+ :match-func (lambda (msg)
+ (when msg
+ (string-prefix-p "/outlook" (mu4e-message-field msg :maildir))))
+ :vars '((mu4e-sent-folder . "/Outlook/Sent")
+ (mu4e-trash-folder . "/Outlook/Trash")
+ (mu4e-refile-folder . "/Outlook/Archive")
+ (mu4e-drafts-folder . "/Outlook/Drafts")
+ (user-mail-address . "verdant.im@outlook.com")
+ (user-full-name . "Verdant")))))
(setq mu4e-compose-complete-only-personal t
mu4e-view-show-addresses t
@@ -371,12 +376,14 @@ Emacs 就开 Dired
** 主题
#+begin_src emacs-lisp
(setq custom-safe-themes t)
- (load-theme 'ef-dark)
+ (when (display-graphic-p)
+ ;(load-theme 'ef-dark)
+ (load-theme 'doom-Iosvkem)
+ )
#+end_src
-
** 背景透明
#+begin_src emacs-lisp
- (setq default-frame-alist '((alpha-background . 85)))
+(setq default-frame-alist '((alpha-background . 100)))
#+end_src
** 光标拉伸到字符宽度
#+begin_src emacs-lisp
@@ -413,14 +420,14 @@ Emacs 就开 Dired
(defun setup-markdown-writing-environment ()
"为 Markdown 写作优化的环境:开启 Olivetti,关闭行号。"
(interactive)
- (olivetti-mode))
+ (olivetti-mode)
+
+ (display-line-numbers-mode -1)
+ )
(add-hook 'markdown-mode-hook
(lambda ()
- (setup-markdown-writing-environment)
- ;; 取消 Evil 的 TAB 绑定,使用 markdown-cycle
- (define-key evil-normal-state-local-map (kbd "TAB") 'markdown-cycle)
- (define-key evil-insert-state-local-map (kbd "TAB") 'indent-for-tab-command)))
+ (setup-markdown-writing-environment)))
#+end_src
* Org
** Agenda
@@ -452,7 +459,6 @@ Emacs 就开 Dired
org-fontify-done-headline t
org-fontify-quote-and-verse-blocks t)
#+end_src
-
** ox-reveal
参考教程:[[https://www.zhangjiee.com/blog/2019/emacs-slide.html][Emacs 基于 org-reveal 做幻灯片]]
@@ -468,7 +474,25 @@ reveal 自动按照标题来布局,相同级别的为同一层级,体现的
#+end_src
PRETTY COOL!
-
+** org-noter
+#+begin_src emacs-lisp
+ (use-package org-noter
+ :ensure t
+ :config
+ (setq org-noter-notes-search-path '("~/org/wiki/")))
+#+end_src
+* PDF Tools
+#+begin_src emacs-lisp
+ (use-package pdf-tools
+ :ensure t
+ :config
+ (pdf-tools-install)
+ (add-hook 'pdf-view-mode-hook (lambda () (display-line-numbers-mode -1)))
+ (add-hook 'pdf-view-mode-hook 'pdf-tools-enable-minor-modes)
+ (setq org-noter-always-create-frame nil)
+ (setq org-noter-window-layout 'horizontal-split) ; 强制在当前屏幕左右水平分屏
+ )
+#+end_src
* 杂项
** 快速退出 minibuffer
#+begin_src emacs-lisp
@@ -490,11 +514,12 @@ PRETTY COOL!
(when (display-graphic-p) (set-frame-size (selected-frame) 143 40))
- (if (fboundp 'global-display-line-numbers-mode)
- (global-display-line-numbers-mode -1) (setq
- display-line-numbers-type nil))
+ ;; (if (fboundp 'global-display-line-numbers-mode)
+ ;; (global-display-line-numbers-mode -1) (setq
+ ;; display-line-numbers-type nil))
- (display-time-mode 1)
+ ;; (display-time-mode 1)
+ (global-display-line-numbers-mode)
#+end_src
** 删除文件移动到垃圾箱
#+begin_src emacs-lisp
@@ -508,7 +533,7 @@ PRETTY COOL!
** 编码风格
#+begin_src emacs-lisp
- (setq c-basic-offset 8 tab-width 8)
+ (setq c-basic-offset 4 tab-width 4)
#+end_src
** counsel
@@ -530,10 +555,40 @@ PRETTY COOL!
(point-min)) (forward-line 1)
(org-babel-tangle)))
#+end_src
+** 备份
+#+begin_src emacs-lisp
+ (setq
+ backup-by-copying t ; 自动备份
+ backup-directory-alist
+ '(("." . "~/tmp")) ; 自动备份目录
+ delete-old-versions t ; 自动删除旧的备份文件
+ kept-new-versions 3 ; 保留最近的3个备份文件
+ kept-old-versions 1 ; 保留最早的1个备份文件
+ version-control t) ; 多次备份
+#+end_src
* Vterm
#+begin_src emacs-lisp
(use-package vterm :ensure t)
#+end_src
+* elfeed-org
+#+begin_src emacs-lisp
+ (use-package elfeed-org
+ :ensure t
+ :config
+ (setq rmh-elfeed-org-files (list "~/.emacs.d/elfeed.org")))
+ (elfeed-org)
+
+ (add-hook 'elfeed-show-mode-hook (lambda ()
+ (display-line-numbers-mode -1)
+ (olivetti-mode)))
+#+end_src
+* Mastodon
+#+begin_src emacs-lisp
+ (setq mastodon-instance-url "https://akk.glowisle.me"
+ mastodon-active-user "verdabt")
+
+
+#+end_src
* provide
#+begin_src emacs-lisp
(provide 'config)