Files
z/README
T

144 lines
5.2 KiB
Plaintext
Raw Normal View History

2013-01-22 23:51:34 +09:00
Z(1) User Commands Z(1)
2009-06-25 18:47:05 -04:00
NAME
2013-01-22 23:51:34 +09:00
z - jump around
2009-10-13 19:54:41 -04:00
SYNOPSIS
2013-05-18 10:54:42 -04:00
z [-chlrtx] [regex1 regex2 ... regexn]
AVAILABILITY
bash, zsh
DESCRIPTION
2013-01-22 23:51:34 +09:00
Tracks your most used directories, based on 'frecency'.
2013-01-22 23:51:34 +09:00
After a short learning phase, z will take you to the most 'frecent'
2013-08-18 02:26:08 -04:00
directory that matches ALL of the regexes given on the command line, in
order.
For example, z foo bar would match /foo/bar but not /bar/foo.
OPTIONS
2013-05-18 11:19:16 +02:00
-c restrict matches to subdirectories of the current directory
2013-01-22 23:51:34 +09:00
-h show a brief help message
2013-01-22 23:51:34 +09:00
-l list only
-r match by rank only
-t match by recent access only
2013-05-18 10:54:42 -04:00
-x remove the current directory from the datafile
EXAMPLES
2013-01-22 23:51:34 +09:00
z foo cd to most frecent dir matching foo
2013-08-18 02:26:08 -04:00
z foo bar cd to most frecent dir matching foo, then bar
2013-01-22 23:51:34 +09: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)
NOTES
2013-01-22 23:51:34 +09:00
Installation:
Put something like this in your $HOME/.bashrc or $HOME/.zshrc:
2013-01-22 23:51:34 +09:00
. /path/to/z.sh
cd around for a while to build up the db.
PROFIT!!
2011-08-06 22:46:15 -04:00
Optionally:
2013-01-22 23:51:34 +09:00
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 your-
self.
2015-02-14 13:24:04 -05:00
Set $_Z_EXCLUDE_DIRS to an array of directory trees to exclude.
2014-08-07 11:15:51 -04:00
Set $_Z_OWNER to allow usage when in 'sudo -s' mode.
2013-08-18 02:41:29 -04:00
(These settings should go in .bashrc/.zshrc before the line
2013-01-22 23:51:34 +09:00
added above.)
Install the provided man page z.1 somewhere like
/usr/local/man/man1.
2013-01-22 23:51:34 +09:00
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
2014-08-31 13:24:36 -04:00
accessed. When the sum of ranks is over 9000, all ranks are multiplied
by 0.99. Entries with a rank lower than 1 are forgotten.
2011-08-03 16:41:37 -04:00
2013-01-22 23:51:34 +09:00
Frecency:
2013-05-18 11:19:16 +02:00
Frecency is a portmanteau of 'recent' and 'frequency'. It is a weighted
rank that depends on how often and how recently something occurred. As
far as I know, Mozilla came up with the term.
2013-01-22 23:51:34 +09: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 ago.
2011-08-03 16:41:37 -04:00
Frecency is determined at runtime.
2013-01-22 23:51:34 +09:00
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
2013-01-22 23:51:34 +09:00
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
2013-01-22 23:51:34 +09: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
2013-01-22 23:51:34 +09:00
the completion implementations, only the last argument will be com-
pleted in the shell.
2011-07-25 17:25:47 -04:00
2013-01-22 23:51:34 +09:00
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 /.
2011-07-25 17:25:47 -04:00
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.
2013-01-22 23:51:34 +09:00
The environment variable $_Z_DATA can be used to control the datafile
location. If it is not defined, the location defaults to $HOME/.z.
2013-01-22 23:51:34 +09:00
The environment variable $_Z_NO_RESOLVE_SYMLINKS can be set to prevent
resolving of symlinks. If it is not set, symbolic links will be
2013-03-03 02:54:55 -05:00
resolved when added to the datafile.
In bash, z appends a command to the PROMPT_COMMAND environment variable
to maintain its database. In zsh, z appends a function _z_precmd to the
precmd_functions array.
2011-08-23 17:32:00 -04:00
2013-01-22 23:51:34 +09:00
The environment variable $_Z_NO_PROMPT_COMMAND can be set if you want
to handle PROMPT_COMMAND or precmd yourself.
2013-01-22 23:51:34 +09:00
The environment variable $_Z_EXCLUDE_DIRS can be set to an array of
2015-02-14 13:24:04 -05:00
directory trees to exclude from tracking. $HOME is always excluded.
Directories must be full paths without trailing slashes.
2013-01-12 00:45:38 -05:00
2014-08-07 11:15:51 -04:00
The environment variable $_Z_OWNER can be set to your username, to
allow usage of z when your sudo enviroment keeps $HOME set.
FILES
2014-08-07 11:15:51 -04:00
Data is stored in $HOME/.z. This can be overridden by setting the
$_Z_DATA environment variable. When initialized, z will raise an error
if this path is a directory, and not function correctly.
A man page (z.1) is provided.
SEE ALSO
2012-09-01 13:38:37 -07:00
regex(7), pushd, popd, autojump, cdargs
Please file bugs at https://github.com/rupa/z/
2013-01-22 23:51:34 +09:00
z January 2013 Z(1)