If you like, or are using this project please give it a star - thanks!
- migrate to Net8
jumpfs is a simple cross-platform exe and collection of scripts that allow you bookmark locations in your file system, jump between them, or open them in explorer or VS Code.
Jumps knows how to translate between WSL paths and Windows paths so you can use Bash bookmarks from PowerShell or PowerShell bookmarks from Bash.
You can also "bookmark" Urls and shell commands which can make it a bit easier to reuse that complicated pipeline you just spent half an hour putting together.
It's easiest to demonstrate with a picture..
Great! You can get prebuilt binaries or build it yourself from source. There is also a nuget package
Follow the instructions to
- install for PowerShell
- install for WSL (Linux on Windows)
- install for native Linux
- install for DOS/CMD
The main commands are listed below but you can create your own quite easily by reading the advanced usage guide.
Commands have both long function names and shorter aliases, shown in brackets below. Aliases are defined at the top of ps-jumpfs.psm1 and bash-jumpfs.sh
mark can take up to 4 arguments. The first is the name you want to use for the bookmark. The remainder are path, line-number and column-number. The latter two are useful when specifying a bookmark to a particular position within a file.
mark name
creates a bookmark at the current working directorymark name path
creates a bookmark at the supplied folder or filemark name path 10 5
creates a bookmark with line number and column
path can be a file, folder, or URL starting http: or https:
jumpfs will silently overwrite an existing bookmark of the same name. This is by design since bookmarks are meant to be lightweight and ephemeral. If you don't like this behaviour, raise an issue and I'll consider adding a way to customise it.
go only takes a single argument which is the name of the bookmark. Note that if you go to a file, you will actually be taken to the folder that contains it.
If no arguments are supplied, lst will display all stored bookmarks. If an argument is given, it is used to search within the bookmark names and paths and only those that match are returned.
Removes a bookmark from the bookmark file
If the bookmark supplied to codego is a file and has a line and column associated with it the file will be opened at that position.
Opens Windows File Explorer at the location of the bookmark (or the containing folder if the bookmark is a file).
Similar to double clicking on a file in Windows Explorer - if a folder, it's opened, if a file, then the extension will be used as a clue to perform the associated action.
Gets the path of a bookmark so you can use it in a command. For example:
ls (bp myplace)
currently not implemented for Bash Runs explorer with the URL value of the bookmark
currently not implemented for Bash Stores the last issued command as a bookmark
currently not implemented for Bash Runs the bookmark (assuming it is a command that is suitable for the current shell)
jumpfs_info will provide version and environment information.
How to use the PowerShell virtual drive
Create custom functions and scripts by calling jumpfs directly: jumpfs parameter reference
Read the faq
PRs are welcome. Particularly to documentation and Linux-side scripts! Please read the contributors guide
Big-ticket items it would be nice to get help with....
- Windows Shell extension
- VS Code extension
- a visual bookmark editor (possible as a VS Code extension)