A high-performance, modular, and modern Emacs configuration tailored for software engineering.
Kanso (簡素) means simplicity; eliminating clutter to reveal the essential.
Motto: 如无必要,勿增代码 - Do not add code unless it is necessary.
Comprehensive guides, setup instructions, and language-specific workflows are available on our Documentation Site.
- Getting Started & Installation
- 📝 Org & Markdown Writing
- 🐍 Python Development
- 🦀 Rust Development
- ❄️ C/C++ Development
- 🎾 Racket Development
- Native First: Prioritize built-in Emacs features (
eglot,project.el,treesit) over heavy third-party frameworks. - Lightning Fast: Lazy-loading and a modular architecture ensure sub-second startup times.
- Discoverable: Powered by a modern completion stack (
Vertico,Consult,Marginalia,Orderless) to make finding files, commands, and code effortless. - Resilient: Package bootstrap is tolerant of missing packages and network hiccups, with a manual recovery path via
M-x bootstrap-packages. - Kanso By Default: Inspired by Occam's razor,
如无必要,勿增代码means "Do not add code unless it is necessary." Prefer defaults, fewer layers, and less code unless the extra complexity clearly pays for itself.
The configuration is strictly modular, keeping init.el clean and declarative.
~/.emacs.d/
├── init.el # 🏁 Core settings and module loader
├── lisp/ # 🏗️ Configuration modules
│ ├── init-package.el # 📦 Package management & package bootstrap
│ ├── init-completion.el # 🔍 Vertico, Consult, Marginalia stack
│ ├── init-editing.el # ✍️ Global editing behaviors
│ ├── init-docs.el # 📝 Org and Markdown authoring support
│ ├── init-tools.el # 🛠️ Shared development helpers
│ ├── init-ui.el # 💄 Theming and visual decluttering
│ └── lang-*.el # 🌐 Language-specific environments
└── docs/ # 📖 Documentation source
Ensure you have Emacs 30.0+ installed, then simply clone and run:
# 1. Backup existing config (if any)
mv ~/.emacs.d ~/.emacs.d.bak
# 2. Clone the repository
git clone https://github.com/suxiaogang223/kanso-emacs.git ~/.emacs.d
# 3. Launch Emacs
emacsOn first launch, Emacs installs required packages during startup and shortly after startup settles. If a network error interrupts that process, run M-x bootstrap-packages.
Local smoke test:
make smokeLocal ERT suite:
make testGitHub Actions runs the same checks on Emacs snapshot.
This configuration is open-source and available under the MIT License. Feel free to fork, modify, and use it as the foundation for your own setup.
