Emacs 从零开始写配置: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| Line 9: | Line 9: | ||
7 Emacs 完全启动 | 7 Emacs 完全启动 | ||
</pre> | </pre> | ||
== load-path == | == load-path == | ||
| Line 39: | Line 37: | ||
(add-to-list 'load-path sub t))) | (add-to-list 'load-path sub t))) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== 平台 == | |||
Revision as of 15:07, 19 March 2026
据 ChatGPT 所说,Emacs 启动顺序为:
1 启动 C 核心 2 初始化 load-path 3 加载 site-start.el(系统级配置) 4 加载 early-init.el(用户早期配置) 5 初始化 package.el 6 加载 init.el 或 .emacs(用户配置) 7 Emacs 完全启动
load-path
设想的插件管理方式:自动追加插件目录,在插件出问题时可以全删干净,不影响早期有效配置。
- 新建一个目录,当自留地
- 把自留地加入 load-path,追加而不抢先
- 试用插件时,在自留地里,创建插件目录
- 插件目录也加入 load-path,追加而不抢先。一级,不递归
- provide 'name 及 require 'name
- 试用调整,满意就留,不满意就删该插件目录
;; 个人自留地,根目录
(defvar qlzq-personal-dir (expand-file-name "qlzq-emacs-config/" user-emacs-directory))
;; 确保存在
(unless (file-directory-p qlzq-personal-dir)
(make-directory qlzq-personal-dir t))
;; 把根目录加入 load-path
(add-to-list 'load-path qlzq-personal-dir t)
;; 把每个一级子目录加入 load-path(只加入含 .el/.elc 的目录)
(dolist (sub (directory-files qlzq-personal-dir t "^[^.]" t))
(when (and (file-directory-p sub)
(cl-some (lambda (f) (string-match-p "\\.el\\(c\\)?\\'" f))
(directory-files sub)))
(add-to-list 'load-path sub t)))