Skip to content

AbstProcDo/engine-emacs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

零、引言

如果不给你的emacs配置起个独特名字,那么你就没有自己的emacs配置。

起名engine-emacs是因为这些天读了一本书:「人类飞翔史」。

images/人类飞翔史封面.png

早先的风筝,热气球,氢气球等只能在高空中随风逐流。即使发明家制造出来螺旋状,仅靠着脚蹬手摇的人力驱动,在高空中就犹如一根竹竿搅动大海,再筋疲力尽也是徒劳无功。

直到蒸汽动力引擎在工业革命中崭露头角,飞行器才得以挣脱风的束缚,按照人的意愿首次实现定向飞行。

因此,我希望Emacs能给我带来效率,作按照我的意愿前进的动力引擎engine-emacs。

一、简介

首先,我没有自己的配置,用的doom-emacs,加了一丢点儿自己的使用习惯。这个engine-emacs项目(或者目录)就是doom-emacs的.doom.d目录(将本项目下载到$HOME目录下之后,更改命名为.doom.d即可)。

doom-emacs分为.emacs.d和.doom.d两大部分。其中.doom.d是用户自定义配置,我也不在.emacs.d中保存任何自定义的内容。自定义信息全部保存在.doom.d中,包括bookmark,snippets等。

在任何时刻,将.emacs.d目录全部删掉,仅保留.doom.d,然后运行M-x doom-reload,便能全须全尾的恢复。

其次,我是在windows11系统上运行的emacs,有些配置和问题是平台独有的。

最后,建议用outshine来阅读elisp的配置代码,结构清晰且赏心悦目。

images/outshine案例01.png

二、目录结构

目录结构如下。其中init.el, package.el, config.el, custom.el为doom-emacs的标准配置文件,此处不再赘述。

bookmarks-windows文件保存着自定义的bookmarks,snippet目录里存着全部自定义的snippets,theme目录是自定义主题。

engine.emacs目录里的6个文件是给config.el服务的分类配置文件。

|-- init.el
|-- packages.el
|-- config.el
|-- custom.el
|-- bookmarks-windows
|-- engine.emacs
|   |-- engine-org-agenda.el
|   |-- engine-org-babel.el
|   |-- engine-org-note.el
|   |-- iscroll.el
|   |-- email.el
|   `-- programming-aid.el
|-- snippets
|-- themes
|   `-- work-theme.el
|-- images
|-- readme.org

三、配置结构

所有的配置都写在config.el中,暂时分了九个类别。

0.最关键的键位模式配置

doom模式是vim模式,我用的是vanilla emacs。于是这第一行配置最为关键。

(setq evil-default-state 'emacs)

另外也在key change log部分记录主要的变更。变更记录写在头部,比从git log中查看更加直观。

1.Key and Editing

键位绑定都放在此处,光标的移动,拼写检查,搜索,拼写纠正等等

2.File, Buffers, Directories

文件与目录相关内容,还包括register, bookmarks, dired, archive等等

3.Display(Looks and Feel)

themes, modeline, input-methods, emoj, fonts, icons等等

4.Windows Management

窗口管理与Frame管理等

5.Org Mode

我主要用emacs来写笔记,因此org-mode是核心。具体配置在

(add-to-list 'load-path "~/.doom.d/engine.emacs")
(require 'engine-org-babel)
(require 'engine-org-agenda)
(require 'engine-org-note)
(require 'email)
(require 'iscroll)

6.Reading

dictionaries, epub-reading 等

7.Programming

包括环境配置等,另有programming-aid.el分类配置。

8.Coding system

这应该在7.programming里。但在windows上,常常出现coding-system的异常报错,因此单独拿出来。

Red Alarms

记录配置过程中踩的雷。

四、收尾

以上, engine-emacs,盼着每次打开,都能有强劲动力的推背感。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published