2011-06-08 17:06:01 -04:00
|
|
|
|
Z(1) User Commands Z(1)
|
2009-06-25 18:47:05 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-02-23 17:30:18 -05:00
|
|
|
|
NAME
|
|
|
|
|
|
z - jump around
|
2009-06-25 18:47:05 -04:00
|
|
|
|
|
2009-10-13 19:54:41 -04:00
|
|
|
|
|
2011-02-23 17:30:18 -05:00
|
|
|
|
SYNOPSIS
|
|
|
|
|
|
z [-h] [-l] [-r] [-t] [regex1 regex2 ... regexn]
|
2009-10-13 19:54:41 -04:00
|
|
|
|
|
2011-02-23 17:30:18 -05:00
|
|
|
|
|
|
|
|
|
|
AVAILABILITY
|
|
|
|
|
|
bash, zsh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
|
|
Tracks your most used directories, based on 'frecency'.
|
|
|
|
|
|
|
2011-06-08 17:06:01 -04:00
|
|
|
|
After a short learning phase, z will take you to the most 'frecent' direc‐
|
|
|
|
|
|
tory that matches ALL of the regexes given on the command line.
|
2011-02-23 17:30:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OPTIONS
|
|
|
|
|
|
-h show a brief help message
|
|
|
|
|
|
-l list only
|
|
|
|
|
|
-r match by rank only
|
|
|
|
|
|
-t match by recent access only
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EXAMPLES
|
2011-06-08 17:06:01 -04:00
|
|
|
|
z foo cd to most frecent dir matching foo
|
2011-02-23 17:30:18 -05:00
|
|
|
|
z foo bar cd to most frecent dir matching foo and bar
|
2011-06-08 17:06:01 -04:00
|
|
|
|
z -r foo cd to highest ranked dir matching foo
|
|
|
|
|
|
z -t foo cd to most recently accessed dir matching foo
|
|
|
|
|
|
z -l foo list all dirs matching foo (by frecency)
|
2011-02-23 17:30:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NOTES
|
|
|
|
|
|
Installation:
|
|
|
|
|
|
|
2011-08-06 22:46:15 -04:00
|
|
|
|
Optionally:
|
|
|
|
|
|
Set $_Z_CMD in .bashrc/.zshrc to change the command (default z).
|
|
|
|
|
|
Set $_Z_DATA to change the datafile (default $HOME/.z).
|
2011-06-08 17:06:01 -04:00
|
|
|
|
|
2011-08-06 22:46:15 -04:00
|
|
|
|
Put something like this in your $HOME/.bashrc:
|
2011-02-23 17:30:18 -05:00
|
|
|
|
|
2011-06-08 17:06:01 -04:00
|
|
|
|
. /path/to/z.sh
|
2011-02-23 17:30:18 -05:00
|
|
|
|
|
2011-08-06 22:46:15 -04:00
|
|
|
|
Put something like this in your $HOME/.zshrc:
|
2011-02-23 17:30:18 -05:00
|
|
|
|
|
2011-06-08 17:06:01 -04:00
|
|
|
|
. /path/to/z.sh
|
|
|
|
|
|
function precmd () {
|
|
|
|
|
|
_z --add "$(pwd -P)"
|
|
|
|
|
|
}
|
2011-02-23 17:30:18 -05:00
|
|
|
|
|
|
|
|
|
|
cd around for a while to build up the db.
|
2011-06-08 17:06:01 -04:00
|
|
|
|
|
2011-02-23 17:30:18 -05:00
|
|
|
|
PROFIT!!
|
|
|
|
|
|
|
2011-08-06 22:46:15 -04:00
|
|
|
|
Optionally:
|
|
|
|
|
|
Install the provided man page z.1 somewhere like /usr/local/man/man1.
|
2011-07-14 14:57:18 -04:00
|
|
|
|
|
2011-08-03 16:41:37 -04:00
|
|
|
|
Aging:
|
|
|
|
|
|
|
|
|
|
|
|
The rank of directories maintained by z undergoes aging based on a simple
|
2011-08-03 16:43:34 -04:00
|
|
|
|
formula. The rank of each entry is incremented every time it is accessed.
|
|
|
|
|
|
When the sum of ranks is greater than 1000, all ranks are multiplied by
|
|
|
|
|
|
0.9. Entries with a rank lower than 1 are forgotten.
|
2011-08-03 16:41:37 -04:00
|
|
|
|
|
2011-02-23 17:30:18 -05:00
|
|
|
|
Frecency:
|
|
|
|
|
|
|
2011-08-03 16:41:37 -04:00
|
|
|
|
Frecency is a portmantaeu of 'recent' and 'frequency'. It is a weighted
|
|
|
|
|
|
rank that depends on how often and how recently something occured. As far
|
2011-06-08 17:06:01 -04:00
|
|
|
|
as I know, Mozilla came up with the term.
|
2011-02-23 17:30:18 -05:00
|
|
|
|
|
2011-08-03 16:41:37 -04:00
|
|
|
|
To z, a directory that has low ranking but has been accessed recently will
|
|
|
|
|
|
quickly have higher rank than a directory accessed frequently a long time
|
2011-06-08 17:06:01 -04:00
|
|
|
|
ago.
|
|
|
|
|
|
|
2011-08-03 16:41:37 -04:00
|
|
|
|
Frecency is determined at runtime.
|
|
|
|
|
|
|
|
|
|
|
|
Common:
|
|
|
|
|
|
|
2011-08-03 17:35:50 -04:00
|
|
|
|
When multiple directories match all queries, and they all have a common
|
|
|
|
|
|
prefix, z will cd to the shortest matching directory, without regard to
|
|
|
|
|
|
priority. This has been in effect, if undocumented, for quite some time,
|
|
|
|
|
|
but should probably be configurable or reconsidered.
|
2011-08-03 16:41:37 -04:00
|
|
|
|
|
2011-07-25 17:25:47 -04:00
|
|
|
|
Tab Completion
|
|
|
|
|
|
|
|
|
|
|
|
z supports tab completion. After any number of arguments, press TAB to
|
|
|
|
|
|
complete on directories that match each argument. Due to limitations of
|
|
|
|
|
|
the completion implementations, only the last argument will be completed
|
|
|
|
|
|
in the shell.
|
|
|
|
|
|
|
|
|
|
|
|
Internally, z decides you've requested a completion if the last argument
|
|
|
|
|
|
passed is an absolute path to an existing directory. This may cause unex‐
|
|
|
|
|
|
pected behavior if the last argument to z begins with /.
|
|
|
|
|
|
|
2011-06-08 17:06:01 -04:00
|
|
|
|
|
|
|
|
|
|
ENVIRONMENT
|
|
|
|
|
|
A function _z() is defined.
|
|
|
|
|
|
|
|
|
|
|
|
An alias $_Z_CMD='_z 2>&1' is defined. If not set, $_Z_CMD defaults to z.
|
2011-02-23 17:30:18 -05:00
|
|
|
|
|
2011-08-23 17:32:00 -04:00
|
|
|
|
In bash, z uses the PROMPT_COMMAND environment variable to maintain its
|
|
|
|
|
|
database. Specifically it prepends:
|
|
|
|
|
|
|
|
|
|
|
|
_z --add "$(pwd -P 2>/dev/null)" 2>/dev/null;
|
|
|
|
|
|
|
|
|
|
|
|
to any existing PROMPT_COMMAND. zsh users need to manually set precmd() as
|
|
|
|
|
|
described in the installation instructions.
|
|
|
|
|
|
|
2011-02-23 17:30:18 -05:00
|
|
|
|
|
|
|
|
|
|
FILES
|
2011-08-06 22:46:15 -04:00
|
|
|
|
Data is stored in $_Z_DATA. If not set, $_Z_DATA defaults to $HOME/.z
|
2011-02-23 17:30:18 -05:00
|
|
|
|
|
2011-07-14 14:57:18 -04:00
|
|
|
|
A man page (z.1) is provided.
|
|
|
|
|
|
|
2011-02-23 17:30:18 -05:00
|
|
|
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
|
|
regex(7), cdargs, pushd, popd, autojump, cdargs
|
|
|
|
|
|
|
|
|
|
|
|
Please file bugs at https://github.com/rupa/z/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-06-08 17:06:01 -04:00
|
|
|
|
z February 2011 Z(1)
|