Dynamic prompt.
Support editor options in the _edit cmd; doc it.
Skip empty input.
Just use 'edit' and 'append' as the cmd names.
Add internal ShellError; report "not connect".
Interactive 'using' cmd.
Use perl style qw.
Factor default_aliases() out.
`ls` supports listing by columns.
*rec() may throw TypeError; carefully 'try:' them.