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.
Leo is:
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
SpecsUpdate
Ranked in these QuestionsQuestion Ranking
Pros
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 alt-x
, clone-find-flattened
(or cff
) away. As is toggle-split-direction
, expand/contract-log-pane
and execute-script
.
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.
Cons
Con A different way of thinking means learning
There's no other code and text editor quite like Leo, so expect to put in some time learning. It can take some trying this and that before the "Aha!"s start to roll in. It's experiential.
Commonly Compared
