""" IPython autojump magic Written by keith hughitt , based on an earlier version by Mario Pastorelli . To install, `create a new IPython user profile `_ if you have not already done so by running: ipython profile create And copy this file into the "startup" folder of your new profile (e.g. "$HOME/.config/ipython/profile_default/startup/"). @TODO: extend %cd to call "autojump -a" """ import os import subprocess as sub from IPython.core.magic import (register_line_magic, register_cell_magic, register_line_cell_magic) ip = get_ipython() @register_line_magic def j(path): cmd = ['autojump'] + path.split() newpath = sub.Popen(cmd, stdout=sub.PIPE, shell=False).communicate()[0][:-1] # delete last '\n' if newpath: ip.magic('cd %s' % newpath) # remove from namespace del j