There are no reviews yet. Be the first to send feedback to the community and the maintainers!
--== 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, <right> - Expand/shrink active view to the right C-b, <left> - Expand/shrink active view to the left C-n, <down> - Expand/shrink active view to the bottom C-p, <up> - Expand/shrink active view to the top 1, 2, 3, 4, ... - Select view Cursor/view movement and text editing: C-f, <right> - Move cursor one character forward M-f - Move cursor one word forward C-b, <left> - Move cursor one character backward M-b - Move cursor one word backward C-n, <down> - Move cursor to the next line C-p, <up> - Move cursor to the previous line C-e, <end> - Move cursor to the end of line C-a, <home> - Move cursor to the beginning of the line C-v, <pgdn> - Move view forward (half of the screen) M-v, <pgup> - Move view backward (half of the screen) C-l - Center view on line containing cursor C-s - Search forward [interactive prompt] C-r - Search backward [interactive prompt] C-j - Insert a newline character and autoindent <enter> - Insert a newline character <backspace> - Delete one character backwards C-d, <delete> - Delete one character in-place M-d - Kill word M-<backspace> - Kill word backwards C-k - Kill line M-u - Convert the following word to upper case M-l - Convert the following word to lower case M-c - Capitalize the following word <any other key> - Insert character Mark and region operations: C-<space> - Set mark C-x C-x - Swap cursor and mark locations C-x > (>...) - Indent region (lines between the cursor and the mark) C-x < (<...) - Deindent region (lines between the cursor and the mark) C-x C-r - Search & replace (within region) [prompt] C-x C-u - Convert the region to upper case C-x C-l - Convert the region to lower case C-w - Kill region (between the cursor and the mark) M-w - Copy region (between the cursor and the mark) C-y - Yank (aka Paste) previously killed/copied text M-q - Fill region (lines between the cursor and the mark) [prompt] 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.
gocode
An autocompletion daemon for the Go programming languagetermbox-go
Pure Go termbox implementationtermbox
Library for writing text-based user interfacesjsondiff
JsonDiff librarygothic
Tcl/Tk Go bindingsgollvm
LLVM bindings for the Go programming languagegotris
A classic tetris game written in Go programming languagepnoise
Perlin noise benchmarkobkey
ObKey - Openbox Key Editorsseculling
SSE Frustum Culling Demomc
A very simple marching cubes example.golemon
Port of the lemon parser generator to the Go programming languagegogobject
GObject-introspection based bindings generatorkrawl
Krawl programming language compilergocovgui
A simple GUI wrapper for the gocov coverage analysis toolbmpanel2
bmpanel version 2bin2go
Binary to Go source file converterccode
An autocompletion daemon for the C programming language (vim, libclang, omnifunc)imgui-rust
Alternative (personal) imgui rust bindingssexp
S-expressions parser in the Go programming languagenextgame
Work-in-progress "voxel" game or game engine.bmpanel
bmpanel - lightweight, netwm compliant, x11 panel with desktop switcher, taskbar, systray and clocktulib
Termbox Utilities Librarylibtorgo
BitTorrent Go librarygortfm
Documentation generator for the Go programming languageemacskeys
QtCreator plugin targeting emacs usersgomandel
Go mandelbrot demo programsqlrace
SQL Race condition demotorgo
BitTorrent client and a tool written in Goancient
A toy compiled programming languageinterlua
C++11/Lua bindings generatorvulkangen
Vulkan C++ wrapper generatorvrmp
VR media player for linuxlib99
libzbs
Experimental C++11 cross-platform software utility libraryshebang
Shebang scripting languagechangedir
utility that helps you maintain visited directories historytbclock
tty-clock clone based on termboxsqlbatch
WIPcppmandel
Multihreaded mandelbrot set renderer using experimental C++ coroutines.shell-util
Shell scripting helper functions for denosx
Sx file formatgoal
Go makefile templates systemGodotSlerpTest
Just a test casejsondiff-demo
github.com/nsf/jsondiff demodepsinfo
analyze dependencies and libraries of a deno scriptpacketer
Channel <-> network connection adapter libraryLove Open Source and this site? Check out how you can help us