Opensauce's Custom Emacs AlterNative
ocean is a work-in-progress attempt at implementing a minimal, opinionated Emacs-like CLI text editor in Ruby.
It was created out of a desire to have an experience similar to my prior GNU Emacs configuration, but in a minimal form-factor.
ocean is developed with the following principles in mind:
- Codebase is restricted to only a single, easily readable Ruby file (excluding development tools).
- No external dependencies except for the Ruby interpreter itself.
- Only add the minimum functionality required for productivity.
- Zero configuration.
- Keep It Simple, Stupid.
I've been a pretty happy user of GNU Emacs for a while now, but one day I suddenly realized that most of my quite large Emacs configuration was just simplifying or disabling default behaviour, and that I wasn't using most of Emacs's functionality. This is fine for regular code editing, but for quick tweaks to configuration files and other similarly simple text editing tasks, Emacs felt excessive and bloated. After making this realization, I started looking for lightweight alternative editors, but I didn't find anything that quite fit my preferences.
From the several alternatives I tried, the closest thing to what I was looking for was mg, but there were some behavioural quirks and missing features that I decided I couldn't deal with, and the extreme fragmentation of that project's codebase is something I'd rather not deal with.
Given that my needs for this kind of text editor are quite simple (basic CLI editor, Emacs gestures, very basic highlighting, not much else), I decided that the optimal solution was to write my own editor from the ground up and make it behave exactly as I want out of the box. No configuration fiddling or source code patches necessary.