This is great, but I don't see why this is better than autojump.
* Autojump automatically saves marks,
~~~ cd Downloads # And you are done. ~~~
* You don't have to think about mark names,
~~~ cd Projects/Python # It will be called `python`. ~~~
* You don't need to remember mark names,
~~~ j haskell # If you want `Projects/Haskell`, odds are the mark is auto-named `haskell`. ~~~
* You can specify only some part of mark name;
~~~ j bar # And you are in `Stuff/foobar`. ~~~
Other than that, this is, as I said before, great! Looking forward to go through the source code to learn more about Bash.