138 lines
4.4 KiB
Plaintext
138 lines
4.4 KiB
Plaintext
Z(1) User Commands Z(1)
|
||
|
||
|
||
|
||
NAME
|
||
z − jump around
|
||
|
||
|
||
SYNOPSIS
|
||
z [−h] [−l] [−r] [−t] [regex1 regex2 ... regexn]
|
||
|
||
|
||
AVAILABILITY
|
||
bash, zsh
|
||
|
||
|
||
DESCRIPTION
|
||
Tracks your most used directories, based on ’frecency’.
|
||
|
||
After a short learning phase, z will take you to the most ’frecent’
|
||
directory that matches ALL of the regexes given on the command line.
|
||
|
||
|
||
OPTIONS
|
||
−h show a brief help message
|
||
−l list only
|
||
−r match by rank only
|
||
−t match by recent access only
|
||
|
||
|
||
EXAMPLES
|
||
z foo cd to most frecent dir matching foo
|
||
z foo bar cd to most frecent dir matching foo and bar
|
||
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)
|
||
|
||
|
||
NOTES
|
||
Installation:
|
||
|
||
Put something like this in your $HOME/.bashrc or $HOME/.zshrc:
|
||
|
||
. /path/to/z.sh
|
||
|
||
cd around for a while to build up the db.
|
||
|
||
PROFIT!!
|
||
|
||
Optionally:
|
||
Set $_Z_CMD to change the command name (default z).
|
||
Set $_Z_DATA to change the datafile (default $HOME/.z).
|
||
Set $_Z_NO_RESOLVE_SYMLINKS to prevent symlink resolution.
|
||
Set $_Z_NO_PROMPT_COMMAND to handle PROMPT_COMMAND/precmd yourself.
|
||
Set $_Z_EXCLUDE_DIRS to an array of directories to exclude.
|
||
(These settings should go in .bashrc/.zshrc before the lines added
|
||
above.)
|
||
Install the provided man page z.1 somewhere like /usr/local/man/man1.
|
||
|
||
Aging:
|
||
|
||
The rank of directories maintained by z undergoes aging based on a sim‐
|
||
ple formula. The rank of each entry is incremented every time it is
|
||
accessed. When the sum of ranks is greater than 6000, all ranks are
|
||
multiplied by 0.99. Entries with a rank lower than 1 are forgotten.
|
||
|
||
Frecency:
|
||
|
||
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 as I know, Mozilla came up with the term.
|
||
|
||
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 ago.
|
||
|
||
Frecency is determined at runtime.
|
||
|
||
Common:
|
||
|
||
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.
|
||
|
||
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 com‐
|
||
pleted in the shell.
|
||
|
||
Internally, z decides you’ve requested a completion if the last argu‐
|
||
ment passed is an absolute path to an existing directory. This may
|
||
cause unexpected behavior if the last argument to z begins with /.
|
||
|
||
|
||
ENVIRONMENT
|
||
A function _z() is defined.
|
||
|
||
The contents of the variable $_Z_CMD is aliased to _z 2>&1. If not set,
|
||
$_Z_CMD defaults to z.
|
||
|
||
The environment variable $_Z_DATA can be used to control the datafile
|
||
location. If it is not defined, the location defaults to $HOME/.z.
|
||
|
||
The environment variable $_Z_NO_RESOLVE_SYMLINKS can be set to prevent
|
||
resolving of symlinks. If it is not set, symbolic links will be
|
||
resolved when added to the datafile..
|
||
|
||
In bash, z prepends a command to the PROMPT_COMMAND environment vari‐
|
||
able to maintain its database. In zsh, z appends a function _z_precmd
|
||
to the precmd_functions array.
|
||
|
||
The environment variable $_Z_NO_PROMPT_COMMAND can be set if you want
|
||
to handle PROMPT_COMMAND or precmd yourself.
|
||
|
||
The environment variable $_Z_EXCLUDE_DIRS can be set to an array of
|
||
directories to exclude from tracking. $HOME is always excluded. Direc‐
|
||
tories must be full paths without trailing slashes.
|
||
|
||
|
||
FILES
|
||
Data is stored in $HOME/.z. This can be overridden by setting the
|
||
$_Z_DATA environment variable.
|
||
|
||
A man page (z.1) is provided.
|
||
|
||
|
||
SEE ALSO
|
||
regex(7), pushd, popd, autojump, cdargs
|
||
|
||
Please file bugs at https://github.com/rupa/z/
|
||
|
||
|
||
|
||
z January 2013 Z(1)
|