Ubuntu Manpages

The development of Elvish is driven by a set of ideas, a design philosophy.

  • The user interface should be usable without any customizations. It should be simple and consistent by default:
  • Prefer to extend well-known functionalities in other shell to inventing brand new ones. For instance, in Elvish Ctrl-R summons the "history listing" for searching history, akin to how Ctrl-R works in bash, but more powerful.
  • When a useful feature has no prior art in other shells, borrow from other programs. For instance, the navigation mode (../learn/cookbook.html#navigation-mode), summoned by Ctrl-N, mimics Ranger (http://ranger.nongnu.org); while the "location mode" used for quickly changing location, mimics location bars in GUI browsers (and is summoned by the same key combination Ctrl-L).
  • Customizability should be achieved via progammability, not an enormous inventory of options that interact with each other in obscure ways.