Programming is a hard task partly due to the huge amount of context we have to keep in mind, and being able to quickly navigate code helps us refresh that context, by looking at definitions, implementations, and comments.
vim
The text editor.
vis
A vi-like editor based on Plan 9's structural regular expressions.
kakoune
Another vi-like editor with some novel ideas.
acme
The only good mouse-based editor.
sed
Stream editor for filtering and transforming text.
https://github.com/aligrudi/neatvi
Minimal vi implementation (from scratch). Supports bidirectional UTF-8 text, unlimited undo/redo, but otherwise stays true to the original vi.
https://github.com/zyedidia/micro
Noob editor written in go.