2009-03-02 18:18:25 +00:00
========
AUTOJUMP
========
----------------------------
A `` cd `` command that learns
----------------------------
One of the most used shell commands is `` cd `` . A quick survey among my friends revealed that between 10 and 20% of all commands they type are actually `` cd `` commands! Unfortunately, jumping from one part of your system to another with `` cd `` requires to enter almost the full path, which isn't very practical and requires a lot of keystrokes.
2010-08-25 09:23:28 +00:00
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. The jumpstat command shows you the current contents of the database. You need to work a little bit before the database becomes usable. Once your database is reasonably complete, you can "jump" to a commonly "cd"ed directory by typing:
2009-03-02 18:18:25 +00:00
j dirspec
where dirspec is a few characters of the directory you want to jump to. It will jump to the most used directory whose
2010-08-31 13:30:11 +00:00
name matches the pattern given in dirspec. Note that autojump isn't meant to be a drop-in replacement for cd, but rather a complement. Cd is fine when staying in the same area of the filesystem; autojump is there to help when you need to jump far away from your current location.
2009-03-02 18:18:25 +00:00
2009-07-02 17:06:14 +00:00
Autojump supports tab completion. Try it! Autojump should be compatible with bash 4. Please report any problems!
2009-03-02 18:18:25 +00:00
2009-04-10 11:11:10 +00:00
Pierre Gueth contributed a very nice applet for freedesktop desktops (Gnome/KDE/...). It is called "jumpapplet", try it!
Thanks to Simon Marache-Francisco's outstanding work, autojump now works perfectly with zsh.
2009-03-02 18:18:25 +00:00
Examples
========
::
j mp3
could jump to `` /home/gwb/my mp3 collection `` , if that is the directory in which you keep your mp3s. ::
2010-04-27 08:26:38 +00:00
jumpstat
2009-03-02 18:18:25 +00:00
will print out something in the lines of::
...
54.5: /home/shared/musique
60.0: /home/joel/workspace/coolstuff/glandu
83.0: /home/joel/workspace/abs_user/autojump
96.9: /home/joel/workspace/autojump
141.8: /home/joel/workspace/vv
161.7: /home/joel
Total key weight: 1077
The "key weight" reflects the amount of time you spend in a directory.
Author
======
Joel Schaerer (joel.schaerer (at) laposte.net)
2009-04-10 11:11:10 +00:00
Autojump applet written by Pierre Gueth
Zsh support: Simon Marache-Francisco
Install script written by Daniel Jackoway and others.
2009-03-02 18:18:25 +00:00
License
=======
2009-05-13 09:32:19 +00:00
autojump is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
autojump is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with autojump. If not, see <http://www.gnu.org/licenses/>.
2009-03-02 18:18:25 +00:00
Installation
============
Auto Installation
-----------------
run::
./install.sh
2009-03-30 07:47:00 +00:00
or::
./install.zsh
depending on your shell.
2009-03-02 18:18:25 +00:00
Enter your root password if it asks.
Add the line::
source /etc/profile
2009-03-30 07:47:00 +00:00
to `` ~/.bashrc `` or `` ~/.zshrc `` if it isn't already there.
2009-03-02 18:18:25 +00:00
Troubleshoot
------------
If the script fails, you may need to do::
2009-03-30 07:47:00 +00:00
chmod +x install.(z)sh
2009-03-02 18:18:25 +00:00
before the first step.
Manual installation of autojump is very simple: copy
- autojump to /usr/bin,
- autojump.sh to /etc/profile.d,
- autojump.1 to /usr/share/man/man1.
2009-03-30 07:47:00 +00:00
Make sure to source `` /etc/profile `` in your `` .bashrc `` or `` .zshrc `` ::
2009-03-02 18:18:25 +00:00
source /etc/profile
Packaging
=========
For now gcarrier and I have packaged autojump for Arch Linux. It is available in [community]. To install, type::
pacman -S autojump
2011-03-04 18:51:46 +00:00
Tanguy Ortolo packaged autojump for Debian testing/unstable. It will eventually reach Ubuntu. To install, type::
apt-get install autojump
2011-08-19 17:47:29 +00:00
Autojump is also available on the OSX Homebrew package manager::
brew install autojump
2011-03-04 18:51:46 +00:00
2009-03-02 18:18:25 +00:00
I would be very interested by packages for other distros. If you think you can help me with the packaging, please contact me!
2009-07-15 17:49:09 +00:00
Uninstallation
==============
To completely remove autojump you should remove these files:
2009-07-15 21:34:29 +00:00
2009-07-15 21:32:35 +00:00
`` /etc/profile.d/autojump.bash ``
2009-07-15 21:34:29 +00:00
2009-07-15 21:32:35 +00:00
`` /etc/profile.d/autojump.sh ``
2009-07-15 21:34:29 +00:00
2009-07-15 21:32:35 +00:00
`` /etc/profile.d/autojump.zsh ``
2009-07-15 21:34:29 +00:00
2010-08-29 11:57:54 +00:00
`` /usr/bin/autojump ``
`` /usr/bin/jumpapplet ``
`` /usr/share/autojump/icon.png ``
`` /usr/share/autojump/ ``
`` /usr/share/man/man1/autojump.1 ``
2009-07-15 21:34:29 +00:00
Remove any mention of autojump in your `` .bashrc `` or `` .zshrc `` , then in currently running shells do:`` source /etc/profile `` .
2009-07-15 17:49:09 +00:00
If you keep getting `` autojump: command not found `` at the Bash prompt, do:`` unset PROMPT_COMMAND `` . You can also restart your shell.