Intro
I have played around with emacs for a while. This time I learned a lot and by using AI tools I can make a set of configurations very quickly and efficiently. Here I think I need to give it a brief description about this whole configuration and why this is fun.
<2026-04-12 Sun>
Til this date, please check bfrodog’s emacs config on codeberg.
The configuration structure includes:
- early-init for garbage collection and other to improve the startup speed;
- init for requiring all the configurations
- the configuration details are in the folder
lisp
- the configuration details are in the folder
- in
.emacs/lisp/there are all my configurations for different functions with packages
Basic principle
Simple, fast, use built-in functions as much as possible.
Functions
early-init.el
This file will be loaded before init.el.
This file is for performance optimization even before the GUI. In my configuration I added several things:
- increase the threshold of garbage collection so that when initializing, emacs doesn’t do gc
- don’t load
package-initialize, let user control it - simplify GUI resizing etc.
- don’t use tool-bar and scroll-bar, which are ugly (however i kept menu-bar because the native menu-bar on Mac is good)
- remap meta to command key on macOS
init.el
This file is an entrance to load all the other configurations. Meanwhile set up the load path.
In lisp/
package
Basic set-ups for package.
- Set up package archives url
- Initialization
- Set up
use-packagefor management - Set defer-load at default
core
The core set-ups are in init-core.el.
- Since we increased GC threshold temporarily, to make Emacs working normally later, we need to set GC mechanism beck to normal with a message telling how long emacs spent for start-up.
- We keep back-up function but later we will use another way to put them all into one folder.
- Use some modes for history saving.
- Set encode.
- Set spell check.
- Add custom message on scratch buffer.
storage
As I said above, here we manage all the temporary files together.
ui
Here I customize how emacs looks like:
- Font, cursor, line number, etc.
- I use ef-themes with green background
- Nerd icons for doom-modeline
- Rainbow parenthesis
third-party packages
The rest of the configuration files are some packages I’m using for now:
which-keyis to remind me of some keystrokesmagitfor easy gitcompletionincludes built-in completion preview,consultfor better search andembarkas the right mouse menu.dictfor English dictionary. I call dictionary.app on macOS.snippetforyasnippetpackage, just as the name iseditingfor better typing (but maybe later I will change it)markdownorgfororg-modehugofor export org file to markdown file that Hugo blog can acceptlspbyeglotlispsince I’m interestedkeybindingwith some my personal customized key shortcuts
What’s next?
The reason why emacs is so fun is that you can really make your own text editor with your very own flavor embedded. Here are some points I want to either modify or add:
- Do I need to change emacs native key style to vim-like one? TBH after playing around with it in three days, my fingers are already aching.
- More languages set-ups. But I don’t think I will do that in the near future.
- Add better citation function in
org-mode.
I definitely will learn some elisp but so far I just want to make it a great tool for myself.
© 2026 bfrodog
未经作者授权,禁止转载。
All rights reserved. No part of this post may be reproduced or transmitted in any form without the prior written permission of the author.