INTRODUCTION
Autojump2 is a fork of Autojump originaly written by Joel Schaerer (https://github.com/joelthelion/autojump).
The philosophy is different from Autojump. Autojump use "j" command and increment a number after each call.
In opposite, Autojump2 is a replacement of "cd" command. "cd" behaviour is enhanced by intelligent completion and
short links to your favorite directories.
* Personal opinion *
Another thing is that the code is simpler than Autojump2, completion is smarter, database management is better.
Regular expressions.
Autojump2 use two regular expressions constructed with arguments, "cd a b c" is translated in :
- .*/.*a.*b.*c.* # All arguments define last directory name
- .*/.*a.*/.*b.*/.*c.* # Arguments are part of path
So you can address complex paths with multiple arguments.
LICENCE
Autojump2 (like autojump) is under GPL version 3 licence.
INSTALLATION
No script is delivered because installation is simple.
Local installation :
- Copy whole package content in ~/.local/share/autojump2
- Create a symbolic link from a bin directory (/bin, /usr/bin, ...) to ~/.local/share/autojump2/autojump2
- Add 'source ~/.local/share/autojump2/autojump2.bash' to your ~/.bashrc
- Add 'alias cd="j"' to your ~/.bashrc
Bin installation
- Copy whole package content in /usr/local/share/autojump2
- Create a symbolic link from a bin directory (/bin, /usr/bin, ...) to /usr/local/share/autojump2/autojump2
- Add 'source /usr/local/share/autojump2/autojump2.bash' to your ~/.bashrc
- Add 'alias cd="j"' to your ~/.bashrc
A database named .autojump2.dict will be created at $AUTOJUMP2_DATA_DIR/ or ~/ if variable is not defined
USAGE
Example directory hierarchy :
proj
|--- v1/
|--- v2/
|--- v3/
|--- branch/
|--- v2/
First, add your favorite directories to autojump2 database :
cd --add proj/v2
>>> '/home/soutade/proj/v2' correctly added to database
cd -a proj/v1
>>> '/home/soutade/proj/v1' correctly added to database
cd -a proj/\\*
>>> '/home/soutade/proj/*' correctly added to database
cd --add proj/branch/v2
>>> '/home/soutade/proj/branch/v2' correctly added to database
If you specify a star in pathname, the directory will be recursively walked
to find directories. You can specify more than one star.
List database :
cd --list
/home/soutade/proj/v1
/home/soutade/proj/v2
/home/soutade/proj/branch/v2
/home/soutade/proj/*
>>> /home/soutade/proj/v1
>>> /home/soutade/proj/v2
>>> /home/soutade/proj/v3
Try to jump to v2 and to v1 :
cd v2
/home/soutade/proj/v2
cd v[tab][tab]
v__1__/home/soutade/proj/v1
v__2__/home/soutade/proj/v2
v__3__/home/soutade/proj/v3
v__4__/home/soutade/proj/branch/v2
cd v__1
/home/soutade/proj/v1
cd br v2
/home/soutade/proj/branch/v2
Remove an item :
cd -r /home/soutade/proj/\\*
>>> /home/soutade/proj correctly removed from database
cd --list
/home/soutade/proj/v1
/home/soutade/proj/v2
/home/soutade/proj/branch/v2
Modify an item :
cd -m /home/soutade/proj/v2 /home/soutade/proj/v3
>>> '/home/soutade/proj/v2' is now '/home/soutade/proj/v3'