NAME
jump
DESCRIPTION
A utility to navigate your filesystem. It can ither be used directly on the command line or integrated with Bash.
SYNOPSIS
$> j --add path [weight]
$> j --remove path
$> j --search path_part [path_part] ...
$> j --show_database
OPTIONS
--search search for the best match in the database
--file=glob match only directories that contain a file matching the shell regexp
-a|add add path to database, weight is adjusted if the path exists
curent path if none is given
-r|remove remove path from database, current path if none is given
-remove_all remove all paths from database
-s|show_database show database entries
-show_config_files show configuration files
--complete return completion path, used by bash complete
-v|version show version information and exit
-h|help show this help
-ignore_path paths matching will not be be included
-q|quote double quote results
-ignore_case do a case insensitive search
-no_direct_path ignore directories directly under cwd
-no_sub_cwd ignore directories and sub directories under cwd
-no_sub_db ignore directories under the database entries
FILES
~/.jump_database default database
~/.jump_config optional configuration file, a Perl hash format
CONFIGURATION FILE FORMAT
{
ignore_path => [string, qr], # paths listed will not match
black_listed_directories => [string, qr], # paths matching are not added to db
quote => 0 # doubl quote results
ignore_case => 0, # case insensitive search and completion
no_direct_path => 0, # ignore directories directly under cwd
no_sub_cwd => 0, # ignore directories and sub directories under cwd
no_sub_db => 0, # ignore directories under the database entries
} ;
ENVIRONMENT
APP_TERM_JUMP_DB name of the database file
APP_TERM_JUMP_CONFIG name of the configuration file
COMMANDS
Adding directories
$> j --add path [weight]
path is added to the directory with optional weight. If no weight is given, a default weight is assigned. If the entry already exist, the weight is added to the existing entry.
Only directories can be added to the database.
Paths matching entries in config black_listed_directories are silently ignored
Removing entries
$> j --remove_all
The database is emptied
$> j --remove path
The the pat is removed from the database
Increasing and reseting weight
Increasing weight
$> j --add path weight
Resetting weight
$> j --remove --add path weight
Show the database contents
$> j --show_database
Displa the database file name and the configuration file name
$> j --show_configuration_files
MATCHING
$> j --search path_part [path_part] ...
path_part is matched in a case sensitie fashion; set $config->{ignore_case} in the configuration file for matching in a case insensitive fashion.
Given this directory structure, the database entries and cwd being /
/
A
path_part
path_part2
A (w:10)
B_directory (w:10)
C (w:10)
F
path_part3
B (w:1)
B_directory (w:20)
C (w:10)
E
F
subdir
E
Paths are matched in this order:
existing full path
Setting configuration no_direct_path disables this matching
match directory under the current working directory
this allow Jump to mimic cd's behavior and jump to directories within the current "project".
$> jump --search A
will return /A even though /path_part/path_part2/A is a database entry with weight:10
Setting configuration no_direct_path disables this matching
full match last directory of database entry
$> jump --search B
will return /path_part/path_part3/B, which has weigh:1 even though /path_part/path_part3/B_directory is a database entry with weight:10
partial match last directory of database entry
$> jump --search B_dir
will return /path_part/path_part3/B_directory which is heavier than /path_part/path_part2/B_directory
equivalent matches return the first entry in alphabetical order
$> jump --search C
will return /path_part/path_part2/C which sorts before /path_part/path_part3/C
match part of a db entry
$> jump --search path
will return /path_part/path_part3/C which is the entry containing path and has the heaviest weight
match sub directory of cwd
$> jump --search E
will return /subdir/E
Seting configuration no_sub_cwd disables this matching
match sub directory of a db entry
$> jump --search F
will return /path_part/path_part3/C/F. /path_part/path_part2/F is not under a database entry
Setting configuration no_sub_db disables this matching
Matching with multiple path parts
$> jump --search C
Matches 2 entries but will return /path_part/path_part2/C which sorts before /path_part/path_part3/C, you can give multiple matches on the command line
$> jump --search 3 C
will return /path_part/path_part3/C
Not matching everything
When Jump searches under the current working directory or in directories under database entries, thousands of matches can be returned. Option --ignore_path disables the scanning of the given paths.
Bash INTEGRATION and --complete
$> j --complete path_part [path_part] ...
will return a list of matches that an be used to integrate with the cd command. Read jump_bash_integration.sh in the distribution
Matching files
the --file option let you specify a file regex which will be use by Jump to further refine your search. Once all the matching possible matching directories are found, each directory is checked for files matching the regexp.
EXIT CODE
0 in case of success, which may or may not return any match
not 0 in case of error
BUGS AND LIMITATIONS
None so far.
Please report bugs on Github or CPAN
AUTHOR
Nadim ibn hamouda el Khemir
CPAN ID: NKH
mailto: nadim@cpan.org
COPYRIGHT AND LICENSE
Copyright Nadim Khemir 2015.
This program is free software; you can redistribute it and/or modify it under the terms of either:
the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or
the Artistic License version 2.0.
SEE ALSO
autojump