godit
godit copied to clipboard
A very religious text editor
--== Godit - a very religious text editor ==--
Screenshots:
- https://nosmileface.dev/images/godit-linux1.png
- https://nosmileface.dev/images/godit-linux2.png
I call it religious, because there is a strong faith in the "one true way" of doing things. By that I mean things like: "the tab size is always an equivalent to 8 spaces/characters" or "each line ends with '\n' symbol and someone should end this '\r\n' madness" or "text files are always utf-8 encoded". Most editors provide customizable options for these things, but godit takes a different approach in that area and has no settings at all. So, that concludes the ideology behind godit.
If you're interested in what godit feels like, it would be fair to say that it
is an emacsish lightweight text editor. The godit uses many of the emacs key
bindings and operates using a notion of "micromodes". It's easier to explain
what a micromode is by a simple example. Let's take the keyboard macros feature
from both emacs and godit. You can start recording a macro using C-x ( key
combination and then when you're ready to start repeating it, you do the
following: C-x e (e...). Not only C-x e ends the recording of a macro, it
executes the macro once and enters a micromode, where typing e again, will
repeat that action. But as soon as some other key was pressed you quit this
micromode and everything is back to normal again. The idea of micromode is used
in godit a lot.
--== List of keybindings ==--
Basic things: C-g - Universal cancel button C-x C-c - Quit from the godit C-x C-s - Save file [prompt maybe] C-x S - Save file (raw) [prompt maybe] C-x M-s - Save file as [prompt] C-x M-S - Save file as (raw) [prompt] C-x C-f - Open file M-g - Go to line [prompt] C-/ - Undo C-x C-/ (C-/...) - Redo
View/buffer operations: C-x C-w - View operations mode C-x 0 - Kill active view C-x 1 - Kill all views but active C-x 2 - Split active view vertically C-x 3 - Split active view horizontally C-x o - Make a sibling view active C-x b - Switch buffer in the active view [prompt] C-x k - Kill buffer in the active view
View operations mode:
v - Split active view vertically
h - Split active view horizontally
k - Kill active view
C-f,
Cursor/view movement and text editing:
C-f,
Mark and region operations:
C-
Advanced: M-/ - Local words autocompletion C-x C-a - Invoke buffer specific autocompletion menu [menu] C-x ( - Start keyboard macro recording C-x ) - Stop keyboard macro recording C-x e (e...) - Stop keyboard macro recording and execute it C-x = - Info about character under the cursor C-x ! - Filter region through an external command [prompt]
--== Current development state==--
I'm still in process of designing some parts of it. Bits of functionality are missing, but frankly I write godit in godit already and I use godit for everything else on my system (EDITOR=godit). This README was written in godit from scratch, I write commit messages in godit, I write code in godit, I write configs and scripts in godit. The editor is definitely usable, but it is certain that some corner cases are not covered. Just try it, perhaps you would like it. Oh and I'm very picky about feature suggestions at the moment, suggest, but don't expect too much.