aboutsummaryrefslogtreecommitdiffstats
path: root/config.org
diff options
context:
space:
mode:
Diffstat (limited to 'config.org')
-rw-r--r--config.org327
1 files changed, 121 insertions, 206 deletions
diff --git a/config.org b/config.org
index f6752f0..17312d5 100644
--- a/config.org
+++ b/config.org
@@ -6,38 +6,59 @@
;; -*- lexical-binding: t; -*-
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
- (add-to-list 'package-archives '("gnu" . "https://https://elpa.gnu.org/packages/") t)
+ (add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/") t)
(add-to-list 'package-archives '("melpa" . "https://mirrors.ustc.edu.cn/elpa/melpa/") t)
(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
+ (use-package evil
+ :init
+ (setq evil-want-keybinding nil
evil-want-C-u-scroll t)
- :config
- (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
+ :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)
#+end_src
-** olivetti
+
+** 自动匹配括号
#+begin_src emacs-lisp
- (use-package olivetti)
+ (electric-pair-mode)
#+end_src
-** deno-bridge-jieba
+* 编程
+** sis
#+begin_src emacs-lisp
- (add-to-list 'load-path (expand-file-name "~/.emacs.d/site-lisp/deno-bridge-jieba"))
+ (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))
+ ))
#+end_src
+
** yasnippet
#+begin_src emacs-lisp
(use-package yasnippet
@@ -75,11 +96,6 @@
:map minibuffer-local-map
("C-r" . counsel-minibuffer-history)))
- ;; (use-package ivy-posframe
- ;; :ensure t
- ;; :config
- ;; (ivy-posframe-mode t))
-
(use-package ivy-rich
:ensure t
:config
@@ -137,104 +153,49 @@
:config
(setq clang-format-executable (executable-find "clang-format")))
#+end_src
-** sis
-
-#+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))
- ))
-#+end_src
-
-** 自动匹配括号
-#+begin_src emacs-lisp
-(electric-pair-mode)
-#+end_src
** Flycheck
#+begin_src emacs-lisp
-(global-flycheck-mode)
+ (global-flycheck-mode)
#+end_src
* Dired
#+begin_src emacs-lisp
+ (setq dired-recursive-copies 'always)
+ (setq dired-recursive-deletes 'always)
+ (setq dired-dwim-target t)
+
+ (put 'dired-find-alternate-file 'disabled nil)
+ (with-eval-after-load 'dired
+ (define-key dired-mode-map (kbd "RET") 'dired-find-alternate-file)
+ (define-key dired-mode-map (kbd "^") (lambda () (interactive) (find-alternate-file ".."))))
+
+ (defun dired-sort-size () (interactive) (dired-sort-other (concat dired-listing-switches "S")))
+ (defun dired-sort-extension () (interactive) (dired-sort-other (concat dired-listing-switches "X")))
+ (defun dired-sort-ctime () (interactive) (dired-sort-other (concat dired-listing-switches "ct")))
+ (defun dired-sort-utime () (interactive) (dired-sort-other (concat dired-listing-switches "ut")))
+ (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 "")))
-(setq dired-recursive-copies 'always)
-(setq dired-recursive-deletes 'always)
-(setq dired-dwim-target t)
-
-(put 'dired-find-alternate-file 'disabled nil)
-(with-eval-after-load 'dired
- (define-key dired-mode-map (kbd "RET") 'dired-find-alternate-file)
- (define-key dired-mode-map (kbd "^") (lambda () (interactive) (find-alternate-file "..")))) ; was dired-up-directory)
-
-(setq dired-dwim-target t)
-
-;; dired-sort
-(defun dired-sort-size ()
- "Dired sort by size."
- (interactive)
- (dired-sort-other (concat dired-listing-switches "S")))
-
-(defun dired-sort-extension ()
- "Dired sort by extension."
- (interactive)
- (dired-sort-other (concat dired-listing-switches "X")))
-
-(defun dired-sort-ctime ()
- "Dired sort by create time."
- (interactive)
- (dired-sort-other (concat dired-listing-switches "ct")))
-
-(defun dired-sort-utime ()
- "Dired sort by access time."
- (interactive)
- (dired-sort-other (concat dired-listing-switches "ut")))
-
-(defun dired-sort-time ()
- "Dired sort by time."
- (interactive)
- (dired-sort-other (concat dired-listing-switches "t")))
-
-(defun dired-sort-name ()
- "Dired sort by name."
- (interactive)
- (dired-sort-other (concat dired-listing-switches "")))
-;; 在 Dired 中,按`l`进入文件,按`h`回到上一级目录
-(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)
- (define-key dired-mode-map (kbd "C-f") nil)
- (define-key dired-mode-map (kbd "C-b") #'dired-up-directory)
- (define-key dired-mode-map (kbd "C-f") #'dired-find-file)))
-
-(global-set-key (kbd "<escape>") #'my/keyboard-escape-quit)
-
-(global-auto-revert-mode t) ; 另一程序修改文件让 Emacs 及时刷新 Buffer
+ (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)
+ (define-key dired-mode-map (kbd "C-f") nil)
+ (define-key dired-mode-map (kbd "C-b") #'dired-up-directory)
+ (define-key dired-mode-map (kbd "C-f") #'dired-find-file)))
+
+ (global-auto-revert-mode t)
#+end_src
* 邮件
** mu4e
这个东西的配置实在是太庞大了,懒得细拆了。
#+begin_src emacs-lisp
(require 'smtpmail)
-
(add-to-list 'load-path "/usr/share/emacs/site-lisp/elpa-src/mu4e-1.8.14")
-
(setq gnutls-algorithm-priority "NORMAL:%COMPAT")
-
(defun mu4e-goodies~break-cjk-word (word)
"Break CJK word into list of bi-grams like: 我爱你 -> 我爱 爱你"
(if (or (<= (length word) 2)
@@ -388,36 +349,25 @@
(("C-x o" . ace-window)))
#+end_src
** dashboard
-我突然发现dashboard除了好看没有任何用处(对我来说)。
+我突然发现dashboard除了好看没有任何用处(对我来说),所以我的设置是进入
+Emacs 就开 Dired
#+begin_src emacs-lisp
- (add-hook 'after-init-hook
- (lambda ()
- (setq inhibit-startup-screen t)
- (setq initial-buffer-choice "~")))
+ (add-hook 'after-init-hook
+ (lambda ()
+ (setq inhibit-startup-screen t)
+ (setq initial-buffer-choice "~")))
#+end_src
** 主题
#+begin_src emacs-lisp
(setq custom-safe-themes t)
- ; (load-theme 'ef-dark)
-#+end_src
-
-** 窗口大小
-#+begin_src emacs-lisp
- (set-face-attribute
- 'default nil
- :height 120)
+ (load-theme 'ef-dark)
#+end_src
** 背景透明
#+begin_src emacs-lisp
- ;; (setq default-frame-alist '((alpha-background . 80)))
+ (setq default-frame-alist '((alpha-background . 85)))
#+end_src
-** 新窗口平均其他左右窗口
-#+begin_src emacs-lisp
- ;; (setq window-combination-resize t)
-#+end_src
-
** 光标拉伸到字符宽度
#+begin_src emacs-lisp
(setq x-stretch-cursor t)
@@ -433,16 +383,6 @@
#+begin_src emacs-lisp
(set-frame-font (font-spec :family "FiraMono Nerd Font Mono" :size 18))
#+end_src
-** Holo-layer
-#+begin_src emacs-lisp
- (add-to-list 'load-path (expand-file-name "~/.emacs.d/holo-layer"))
- (require 'holo-layer)
- (holo-layer-enable)
- (setq holo-layer-enable-cursor-animation t
- holo-layer-enable-indent-rainbow t
- holo-layer-active-window-color t
- holo-layer-inactive-window-color t)
-#+end_src
* MIT-Scheme
#+begin_src emacs-lisp
(setq scheme-program-name "mit-scheme")
@@ -459,10 +399,10 @@
* Markdown
** 优化环境
#+begin_src emacs-lisp
+ (use-package olivetti)
(defun setup-markdown-writing-environment ()
"为 Markdown 写作优化的环境:开启 Olivetti,关闭行号。"
(interactive)
- (display-line-numbers-mode -1)
(olivetti-mode))
(add-hook 'markdown-mode-hook
@@ -475,28 +415,34 @@
* Org
** Agenda
#+begin_src emacs-lisp
-
(setq org-agenda-files '("~/org/"))
+ (global-set-key (kbd "C-c a") 'org-agenda)
#+end_src
-** 边距
+** 边距与强制渲染 Hook
#+begin_src emacs-lisp
- (lambda () (progn
- (setq left-margin-width 2)
- (setq right-margin-width 2)
- (set-window-buffer nil (current-buffer))))
+ (defun my-org-mode-setup ()
+ (setq left-margin-width 1)
+ (setq right-margin-width 2)
+ (org-restart-font-lock)
+ (font-lock-mode 1))
+
+ (add-hook 'org-mode-hook 'my-org-mode-setup)
#+end_src
+
** 微调
#+begin_src emacs-lisp
(setq org-startup-indented t
- org-ellipsis "  " ;; folding symbol
+ org-ellipsis "  "
org-pretty-entities t
- org-hide-emphasis-markers t
- ;; show actually italicized text instead of /italicized text/
+ org-hide-emphasis-markers nil
+ org-src-fontify-natively t
+ org-src-tab-acts-natively t
org-agenda-block-separator ""
org-fontify-whole-heading-line t
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 做幻灯片]]
@@ -514,53 +460,6 @@ reveal 自动按照标题来布局,相同级别的为同一层级,体现的
PRETTY COOL!
* 杂项
-** 自动保存
-#+begin_src emacs-lisp
- (auto-save-mode 1)
-#+end_src
-** 时间显示
-#+begin_src emacs-lisp
- (setq ring-bell-function 'ignore
- custom-safe-themes t ; 禁用非法操作提示
- cursor-type 'box
- fringes-outside-margins t
- display-time-24hr-format t ; 时间使用 24 小时制
- display-time-day-and-date t ; 时间显示包括日期和时间
- display-time-interval 60 ; 刷新频率
- display-time-format "%a %b %-e %H:%M" ; 时间格式
- scroll-step 1
- scroll-conservatively 10000)
- (when (display-graphic-p)
- (set-frame-size (selected-frame) 143 40))
- (global-display-line-numbers-mode -1)
- (display-time-mode 1)
-#+end_src
-
-** 关闭 Emacs 时询问
-#+begin_src emacs-lisp
- (setq confirm-kill-emacs #'yes-or-no-p ; 关闭 Emacs 时询问 y or n
- auto-save-visited-interval 5
- native-comp-async-report-warinings-errors nil
- backup-directory-alist `((".*" . ,temporary-file-directory))
- auto-save-file-name-transforms `((".*" ,temporary-file-directory t))
- select-enable-clipboard t
- select-enable-primary t
- interprogram-cut-function
- (lambda (text &optional push)
- (let ((process-connection-type nil))
- (let ((proc (start-process "xclip" nil "xclip" "-selection" "clipboard")))
- (process-send-string proc text)
- (process-send-eof proc))))
- interprogram-paste-function
- (lambda ()
- (shell-command-to-string "xclip -o -selection clipboard")))
-#+end_src
-
-** 删除文件移动到垃圾箱
-#+begin_src emacs-lisp
- (setq-default delete-by-moving-to-trash t)
-#+end_src
-
** 快速退出 minibuffer
#+begin_src emacs-lisp
(defun my/keyboard-escape-quit()
@@ -571,34 +470,50 @@ PRETTY COOL!
(global-set-key (kbd "<escape>") #'my/keyboard-escape-quit)
#+end_src
+** 自动保存与时间显示
+#+begin_src emacs-lisp
+ (auto-save-mode 1) (setq ring-bell-function 'ignore custom-safe-themes
+ t cursor-type 'box fringes-outside-margins t display-time-24hr-format
+ t display-time-day-and-date t display-time-interval 60
+ display-time-format "%a %b %-e %H:%M" scroll-step 1
+ scroll-conservatively 10000)
+
+ (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))
+
+ (display-time-mode 1)
+#+end_src
+** 删除文件移动到垃圾箱
+#+begin_src emacs-lisp
+ (setq-default delete-by-moving-to-trash t)
+#+end_src
+
** 减轻数括号的痛苦
#+begin_src emacs-lisp
- (show-paren-mode 1) ; 减轻数括号的痛苦
+ (show-paren-mode 1)
#+end_src
** 编码风格
#+begin_src emacs-lisp
- (setq c-basic-offset 8
- tab-width 8)
+ (setq c-basic-offset 8 tab-width 8)
#+end_src
** counsel
#+begin_src emacs-lisp
- (use-package counsel
- :ensure t)
+ (use-package counsel :ensure t)
#+end_src
** tangle 快捷键
#+begin_src emacs-lisp
- (global-set-key (kbd "C-x t") (lambda ()
- (interactive)
- (goto-char (point-min))
- (forward-line 1)
- (org-babel-tangle)))
+ (global-set-key (kbd "C-x t") (lambda () (interactive) (goto-char
+ (point-min)) (forward-line 1)
+ (org-babel-tangle)))
#+end_src
* Vterm
#+begin_src emacs-lisp
-(use-package vterm
- :ensure t)
+ (use-package vterm :ensure t)
#+end_src
* provide
#+begin_src emacs-lisp