1
0
mirror of https://github.com/wting/autojump synced 2024-10-27 20:34:07 +00:00
Go to file
2013-12-30 17:44:39 -06:00
bin fix zsh tab completion 2013-12-30 17:44:39 -06:00
docs update doc bumping min Python version to 2.7 2013-12-30 15:43:50 -06:00
tools remove unused imports, minor formatting cleanup 2013-12-28 08:03:27 -06:00
.gitignore tweak docs regarding minimum requirements 2012-05-08 09:18:43 -10:00
AUTHORS update authors list 2013-05-25 05:32:58 -07:00
CHANGES.md fix zsh tab completion 2013-12-30 17:44:39 -06:00
dev-requirements.txt add dev-requirements.txt 2013-12-30 14:05:34 -06:00
install.py print correct shell rc file for Mac bash users 2013-12-30 15:37:51 -06:00
LICENSE Remove license from individual files, consolidate information into AUTHORS and LICENSE 2012-05-06 12:56:01 -10:00
Makefile linter cleanup 2013-12-28 11:34:13 -06:00
README.md Merge pull request #238 from mineo/man-fixes 2013-11-26 08:31:02 -08:00
setup.cfg linter cleanup 2013-12-28 11:34:13 -06:00
uninstall.py remove empty custom installation directories 2013-12-30 15:38:19 -06:00

NAME

autojump - a faster way to navigate your filesystem

SYNOPSIS

Jump to a previously visited directory that contains 'foo':

j foo

Jump to a previously visited subdirectory of the current directory:

jc bar

Show database entries and their respective key weights:

j --stat

DESCRIPTION

autojump is a faster way to navigate your filesystem. It works by maintaining a database of the directories you use the most from the command line. Directories must be visited first before they can be jumped to.

INSTALLATION

REQUIREMENTS

  • Python v2.6+
  • Bash v4.0 for tab completion (or zsh)

If you are unable to update Python to a supported version, older versions of autojump can be downloaded and installed manually.

AUTOMATIC INSTALLATION

Linux

autojump is included in the following distro repositories, please use relevant package management utilities to install (e.g. yum, apt-get, etc):

  • Debian* testing/unstable, Ubuntu, Linux Mint
  • RedHat, Fedora, CentOS
  • ArchLinux
  • Gentoo
  • Frugalware
  • Slackware

* Requires manual activation for policy reasons, please see /usr/share/doc/autojump/README.Debian.

Mac

Homebrew is the recommended installation method for Mac OS X:

brew install autojump

MacPorts also available:

port install autojump

Other

Please check the Wiki for an up to date listing of installation methods.

MANUAL INSTALLATION

Grab a copy of autojump:

git clone git://github.com/joelthelion/autojump.git

Run the installation script:

cd autojump
./install.sh [ --local ]

and follow on screen instructions.

MANUAL UNINSTALLATION

It is recommended to use your distribution's relevant package management utilities, unless you installed manually or ran into uninstallation issues.

Grab a copy of autojump:

git clone git://github.com/joelthelion/autojump.git

Run the uninstallation script:

cd autojump
./uninstall.sh

and follow on screen instructions.

If you keep getting autojump: command not found at the prompt, do:unset PROMPT_COMMAND. You can also restart your shell.

DEVELOPMENT

The source code is primarily in ./bin/autojump. Various shell wrapper scripts are also available in ./bin/.

Documentation is in various files under ./docs/. Build documentation with the command:

make docs

OPTIONS

Options must be passed to 'autojump' and not the 'j' wrapper function.

-i, --increase      manually increase current directory weight

-d, --decrease      manually decrease current directory weight

--purge             deletes database entries that no longer exist on system

-s, --stat          show general stats and top 100 database entries

--version           show version information and exit

ADVANCED USAGE

  • Using Multiple Arguments

    Let's assume the following database:

    30   /home/user/mail/inbox
    10   /home/user/work/inbox
    

    j in would jump into /home/user/mail/inbox as the higher weighted entry. However you can pass multiple arguments to autojump to prefer a different entry. In the above example, j w in would then jump you into /home/user/work/inbox.

  • Jump To A Child Directory.

    Sometimes it's convenient to jump to a child directory (sub-directory of current directory) rather than typing out the full name.

    jc images
    
  • Open File Manager To Directories (instead of jumping)

    Instead of jumping to a directory, you can open a file explorer window (Mac Finder, Windows Explorer, GNOME Nautilus, etc) to the directory instead.

    jo music
    

    Opening a file manager to a child directory is also supported.

    jco images
    

ADDITIONAL CONFIGURATION

  • Enable ZSH Tab Completion

    ZSH tab completion requires the compinit module to be loaded. Please add the following line to your ~/.zshrc after loading autojump:

    autoload -U compinit && compinit
    

    For security compinit checks completion system if files will be owned by root or the current user. This check can be ignored by using the -u flag:

    autoload -U compinit && compinit -u
    

    Tab completion requires two tabs before autojump will display the completion menu. However if setopt nolistambiguous is enabled, then only one tab is required.

  • Always Ignore Case

    Default behavior is to prioritize exact matches over all else. For example, j foo will prefer /foobar over /FooBar even if the latter has a higher weight. To change this behavior and ignore case, add the following environmental variable in your ~/.bashrc:

    export AUTOJUMP_IGNORE_CASE=1
    
  • Prefer Symbolic Links

    Default behavior is to evaluate symbolic links into full paths as to reduce duplicate entries in the database. However, some users prefer a shorter working directory path in their shell prompt. To switch behavior to prefer symbolic links, add the following environmental variable in your ~/.bashrc:

    export AUTOJUMP_KEEP_SYMLINKS=1
    
  • Autocomplete Additional Commands (Bash only)

    Autojump can be used to autocomplete other commands (e.g. cp or vim). To use this feature, add the following environmental variable in your ~/.bashrc:

    export AUTOJUMP_AUTOCOMPLETE_CMDS='cp vim'
    

    Changes require reloading autojump to take into effect.

KNOWN ISSUES

  • For bash users, autojump keeps track of directories as a pre-command hook by modifying $PROMPT_COMMAND. If you overwrite $PROMPT_COMMAND in ~/.bashrc you can cause problems. Don't do this:

    export PROMPT_COMMAND="history -a"
    

    Do this:

    export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND ;} history -a"
    
  • The jump function j does not support directories that begin with -. If you want to jump a directory called --music, try using j music instead of j --music.

FILES

If installed locally, autojump is self-contained in ~/.autojump/.

The database is stored in $XDG_DATA_HOME/autojump/autojump.txt.

REPORTING BUGS

For any usage related issues or feature requests please visit:

https://github.com/joelthelion/autojump/issues

THANKS

Special thanks goes out to: Pierre Gueth, Simon Marache-Francisco, Daniel Jackoway, and many others.

AUTHORS

autojump was originally written by Joël Schaerer, and currently maintained by William Ting.

Copyright © 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.