Text and code editor where Outlines are first class citizen. Outline nodes may appear in more than one place, allowing multiple organizations of data within a single outline. A fundamentally different way of using and organizing data, programs and scripts. Leo has been under active development for 20+ years with an active group of developers and users.
A fully-featured IDE, with many features inspired by Emacs.
An outliner. Everything in Leo is an outline.
A data manager, data manager and personal information manager.
A powerful scripting environment.
A tool for organizing and studying computer code.
Extensible via a simple plugin architecture.
A tool that plays well with IPython, Vim and Emacs.
Written in 100% pure Python
Pro Outlines - better than folding
With outlines functions and classes can be arranged and grouped with their logical neighbours, even nested. Whole branch hierarchies can be expanded and collapsed in a single key stroke, or moved from this spot to that, as best fits the thinking or troubleshooting of the day. Outline trees make navigation across broadly different areas an effortless exercise. See your whole project in a single view, across any number of external files and modules.
Pro Internal command line
All Leo editor commands are available in a command bar, called a "mini-buffer", that feature tab-completion and command history. For example "Find all nodes containing phrase '...', clone them, and paste in a new tree" is a simple
cff) away. As is
Pro Clones - when two or three or ... are better than one
Leo's unique concept of 'clones' means you can re-arrange sections of an external file to suit your way of thinking or tacking a specific issue without changing the organization of the source. This makes it a great tool for studying code from others, and perhaps contributing back to them without changing your or their preferred arrangement methods.