Show HN: Elecxzy – A lightweight, Lisp-free Emacs-like editor in Electron
Hi HN. I am a programmer from Japan who loves Emacs. I am building elecxzy. It is a free (zero-cost), lightweight, Emacs-like text editor for Windows.
I designed it to be comfortable and ready to use immediately, without a custom init.el. Here is a quick overview:
- Provides mouse-free operation and classic Emacs keybindings for essential tasks (file I/O, search, split windows, syntax highlighting).
- Drops the Lisp execution engine entirely. This keeps startup and operation lightweight.
- Solves CJK (Chinese, Japanese, Korean) IME control issues natively on Windows.
I never managed to learn Lisp. I just copy-pasted snippets to maintain my init.el. However, I loved the Emacs keybindings. I loved operating an editor entirely without a mouse. I wanted an editor I could just open and use immediately. Also, standard Emacs binaries for Windows often have subtle usability issues for CJK users.
So, I thought about whether I could build an Emacs-like text editor using Electron, the same framework as VS Code.
Building an editor inside a browser engine required thinking a lot about what NOT to build. To make it feel native, I had to navigate DOM limitations. I learned that intentionally dropping complex features improves rendering speed. For example, I skipped implementing "word wrap." For syntax highlighting, I did not use a full AST parser. Instead, I used strict "line-by-line" parsing. The highlight colors for multi-line comments are occasionally incorrect, but it is practically unproblematic and keeps the editor fast.
Under the hood, to bypass browser limitations and handle large files smoothly, I implemented a virtual rendering (virtual scrolling) system. For text management and Undo/Redo, I use a custom Piece Table. I built a custom KeyResolver for Emacs chords. I also used koffi to call Win32 APIs directly for precise IME control.
I respect Windows Notepad as one of the most widely used text editors. However, in my daily work or coding tasks, I often felt it lacked cer