9 releases (breaking)
0.7.0 | Mar 1, 2019 |
---|---|
0.6.0 | Dec 10, 2018 |
0.5.0 | Nov 11, 2018 |
0.4.0 | Nov 8, 2018 |
0.1.0 | Nov 7, 2018 |
#1159 in Filesystem
26 downloads per month
405KB
1K
SLoC
Magic School Bus
Seatbelts, everyone!
Magic School Bus is a terminal UI filesystem browser with Vi-inspired keybindings.
It's a work in progress, but runs on Windows, MacOS, and Linux!
Installation
Windows
Pre-built binaries are available on the GitHub Releases page.
Other Platforms and Rust Developers
Magic School Bus needs Rust 1.31 or newer to build.
If you already have Rust installed, you can grab Magic School Bus with:
cargo install magic-school-bus
# To upgrade, add --force to overwrite your current installation
cargo install --force magic-school-bus
Usage
To start up Magic School Bus, just run:
# Start in the current directory
msb
# You can also pass a directory to start in
msb ../some-directory
This will start you on an educational adventure in your current directory:
For detailed information on all options and flags, run:
msb --help
Actions
Actions marked with '(repeatable)' can be prefixed by a number, which will repeat the command N times.
q
: Exitj
or<down arrow>
: Move down in the list (repeatable)k
or<up arrow>
: Move up in the list (repeatable)g
: Move to the top of the listG
: Move to the bottom of the list<return>
: Activate an item in the list- If the item is a folder, it'll become the focus
- If the item is a file, it will be opened according to your operating system preferences
f
: Find an entry starting with the given input- Use
<tab>
to cycle between options matching the current input - Use
<return>
or<escape>
to exit find mode
- Use
;
: Jump to the next entry matching the most recent find command (repeatable),
: Jump to the previous entry matching the most recent find command (repeatable)n
: Create a new file, prompted for the name- Use
<escape>
to cancel
- Use
N
: Create a new directory, prompted for the name- Use
<escape>
to cancel
- Use
x
: Prompt to delete the selected entry- Press
y
to confirm or<escape>
to cancel
- Press
r
: Refresh the directory list, useful for when an outside program modifies the directory
Changing shell working directory on exit
Magic School Bus has a special mode intended to help move your shell to the location you navigated to when you exit!
Passing --pwd
will cause the last working directory to be printed to stderr. You can set up an alias or function to capture stderr and cd
to it if msb
exited successfully!
The function I have configured in my .profile
for Bash is:
function brw() {
{ error=$(msb --pwd "$@" 2>&1 1>&$out); } {out}>&1
if [ "$?" -eq 0 ]
then
cd "$error"
fi
}
I can type brw
anywhere to be dropped into a filesystem explorer, navigate around, and when I pop out, I'll be in the right spot!
License
This project is available under the MIT license. Details are available in LICENSE.txt.
Dependencies
~1.4–2MB
~27K SLoC