autojump 導入

apt で autojump をインストールしようとしたら python3 を要求されたので、手動インストールした。

$ git clone http://github.com/joelthelion/autojump.git
$ cd autojump
$ ./install.sh  -d /opt/autojump/ -p /

Installating autojump...

Destination:      /opt/autojump/
Prefix:           //

Binary:           /opt/autojump//bin/  
Documentation:    /opt/autojump//share/man/man1/
Icon:             /opt/autojump//share/autojump/
Shell scripts:    /opt/autojump/etc/profile.d/

`./bin/icon.png' -> `/opt/autojump//share/autojump/icon.png'
`./bin/autojump' -> `/opt/autojump//bin/autojump'
`./bin/autojump_argparse.py' -> `/opt/autojump//bin/autojump_argparse.py'
`./docs/autojump.1' -> `/opt/autojump//share/man/man1/autojump.1'
`./bin/autojump.sh' -> `/opt/autojump/etc/profile.d/autojump.sh'
`./bin/autojump.bash' -> `/opt/autojump/etc/profile.d/autojump.bash'
`./bin/autojump.zsh' -> `/opt/autojump/etc/profile.d/autojump.zsh'
`./bin/_j' -> `/opt/autojump/_j'

Please add the line to ~/.bashrc :

 -s /opt/autojump/etc/profile.d/autojump.sh  && . /opt/autojump/etc/profile.d/autojump.sh

You need to run 'source ~/.bashrc' before you can start using autojump. To remove autojump, run './uninstall.sh'

$ find /opt/autojump/
/opt/autojump/
/opt/autojump/etc
/opt/autojump/etc/profile.d
/opt/autojump/etc/profile.d/autojump.bash
/opt/autojump/etc/profile.d/autojump.sh
/opt/autojump/etc/profile.d/autojump.zsh
/opt/autojump/share
/opt/autojump/share/man
/opt/autojump/share/man/man1
/opt/autojump/share/man/man1/autojump.1
/opt/autojump/share/autojump
/opt/autojump/share/autojump/icon.png  
/opt/autojump/_j
/opt/autojump/bin
/opt/autojump/bin/autojump_argparse.py 
/opt/autojump/bin/autojump

イレギュラーパスなので、.bashrc には以下を追記。

if [ -s /opt/autojump/etc/profile.d/autojump.sh ]; then
    which autojump >/dev/null || export PATH="/opt/autojump/bin:$PATH"
    . /opt/autojump/etc/profile.d/autojump.sh
fi

シェルを開き直すなり、 source ~/.bashrc を実行することで有効化。bash の PROMPT_COMMAND 環境変数で autojump_add_to_database() (autojump -a) が呼ばれるようになっているので、普通に作業しているだけで履歴がたまる仕組みらしい。j [TAB] 、j a[TAB] でどんどん補完。