现在配置只有一个init.el的人已经很少了,每个配置或多或少都有一定的结构,更不用说spacemacs,doom-emacs等大型的配置。大家自己配置的架构有没有什么亮点, 希望推荐给其他人参考的?或者大概介绍一下 组织方式 和 启动流程 ,设计之初的目标 (快速启动,方便调整,etc)等等,也可以给别人做一定参考。
另一个问题就是,随着portable dumper越来越近,autoload可能不再必要,相应的架构也会有变化,大家怎么看?你会对自己的配置做什么调整吗?
现在配置只有一个init.el的人已经很少了,每个配置或多或少都有一定的结构,更不用说spacemacs,doom-emacs等大型的配置。大家自己配置的架构有没有什么亮点, 希望推荐给其他人参考的?或者大概介绍一下 组织方式 和 启动流程 ,设计之初的目标 (快速启动,方便调整,etc)等等,也可以给别人做一定参考。
另一个问题就是,随着portable dumper越来越近,autoload可能不再必要,相应的架构也会有变化,大家怎么看?你会对自己的配置做什么调整吗?
我还是一个init.el
等到 portable dumper 更是一个 init.el就够了
This is My personal Emacs configurations in which I use the approach from Master Emacs in 21 Days. However, I am new to Emacs, thus I don’t know how to name that.
The arch of that is:
init.el
lisp/
| init-config1.el
| init-config2.el
......
The reason I use this kind of approach is that I want to KISS (Keep It Simple, Stupid) which is also used by Arch Linux.
And another principle that I follow is that I should understand my configurations clearly, line by line. The configurations itself should also be organized in a coherent way.
草(日语)记错了,是portable dumper
https://gitlab.com/duzaichuan/dotemacs.d
我的配置也基本集中在一个init.el
里。目标是简单和快速启动,参考的use-package
作者 John Wiegley,他的配置也集中在init.el
,内部按照package的首字母顺序组织的。
我的配置包括init.el
、niwtr-init.org
和repo
文件夹三部分。
其中init.el
是配置加载的入口,声明了package
相关的内容,以及声明接下来要加载niwtr-init.org
tangle出来的代码。
niwtr-init.org
是我配置的主要文件,借助了org-mode
的“文学编程”功能。配置文件分章节,比如programming languages
(各类编程语言包库定义)、jumping around
(ace-jump
、窗口跳转等包库定义),章节下再分小节,比如programming languages
下分python
、common-lisp
、CXX
等。org-mode
能让我像写文档一样写我的配置文件,现在想想是利大于弊的。
repo
是一个文件夹,他包含了我在自己写的一些包库,比如用于扩展eshell
功能的eshell-extensions.el
,以及我自己修改的一个特定版本的doom-modeline.el
,还有一些其他的。这些包库会在之前的.org文件里用(use-package)
引用。
分享一下自己的结构:
.emacs.d
├── lisp
├── private
│ ├── icons
│ ├── themes
│ └── snippets
└── init.el
在Emacs论坛,你甚至可以学习日语。
.emacs.d
├── lisp/
│ ├── init-basic.el
│ ├── init-custom.el
│ ├── init-ui.el
│ └── ...
├── site-lisp/
└── init.el
我的做法是以 Package 为单位,一个一个加就完了:
;;; init.el --- Your Emacs Configuration -*- lexical-binding: t; -*-
;; Package 1
;; Package 2
...
;; Package N
;;; init.el ends here
整个 init.el 就是一个个 Package 的设置,从这点看配置并不复杂,比如安装和设置 Magit 能怎么折腾呢?此外我也不照搬别人的设置,我看不明白的、用不上的绝不放进自己的配置中。实际上我已经很长时间没看过别人的配置了,没什么兴趣。但我时常更新自己的配置,根据自己需求、兴趣、心情,并以此为乐。
看来大部分人的配置结构还是以简洁为主。我也打算简化一下自己的结构了……
.emacs.d
里看着心烦没有bin
架构越复杂,bug越多,维护起来更麻烦。正所谓大道至简吧。 这也是个人不喜欢J2EE的原因之一,有很多是故意把简单的弄复杂了,美其名曰设计模式。
dotfile无解… 不管是*nix还是emacs,一个一个设置真的烦
最近在学习#+AUTHOR: Henry Weller 的 .emacs.d.
他提到以正常加载的方式太慢了,然后他就“build and dump”一个 image。
I use such an extensive set of packages and configurations that loading them at run-time in the normal manner is prohibitively slow. To avoid this problem I build and dump an image of =emacs= containing nearly all of the packages and configuration files as =eemacs=; the script thats perform this task is [[dot-emacs/bin/makeEemacs at master · Henry/dot-emacs · GitHub][bin/makeEemacs]].
目前我还在学习这个方法,不是完全理解其中的原理,不过或许能给正在构建自己 emacs 的朋友一点启示。
和楼上的差不多只不过用了early-init.el