2018 11/17 分かりにくい文章を修正
autojumpは、これまでの移動結果をウエイトをつけて記憶し(学習)、補完機能によって移動を助けたり、ファイラーへの表示を助けるcdのパワーアップ版コマンド。
https://github.com/wting/autojump/wiki
autojumpに関するツイート
他にもいくつかcdの拡張コマンドはあるようですね。
インストール
mac os10.14でテストした。
依存
#hokmebrew
brew install autojump
#またはソースから
git clone git://github.com/wting/autojump.git
cd autojump
./install.py or ./uninstall.py
> autojump -h
$ autojump -h
usage: autojump [-h] [-a DIRECTORY] [-i [WEIGHT]] [-d [WEIGHT]] [--complete]
[--purge] [-s] [-v]
[DIRECTORY [DIRECTORY ...]]
Automatically jump to directory passed as an argument.
positional arguments:
DIRECTORY directory to jump to
optional arguments:
-h, --help show this help message and exit
-a DIRECTORY, --add DIRECTORY
add path
-i [WEIGHT], --increase [WEIGHT]
increase current directory weight
-d [WEIGHT], --decrease [WEIGHT]
decrease current directory weight
--complete used for tab completion
--purge remove non-existent paths from database
-s, --stat show database entries and their key weights
-v, --version show version information
Please see autojump(1) man pages for full documentation.
または"j"でも動く(jに別のaliasを割り当ててなければ)。
使い方
例1
一度は端末から該当ディレクトリにアクセスしておく必要がある。~/Desktopにfastqというディレクトリを作成して中に入る。
mkdir ~/Desktop/fastq
cd ~/Desktop/fastq
現在のパスを確認
$ pwd
/Users/kazuma/Desktop/fastq
テストのため、別のパス、例えばmusicに移動しておく。
cd ~/music
autojumpを試す。フルネームは手間なので、autojumpのラッパー"j"を使う (jumpするjと覚える)。
j fastq
これで~/Desktop/fastqにジャンプした。autojumpをインストール後、一度アクセスしてfastqというディレクトリ名をautojumpが記憶しているため、フルパス指定なしでジャンプすることが可能になっている。
$ pwd
/Users/kazuma/Desktop/fastq
ちゃんと移動できている。
例2
該当文字を含むディレクトリが複数あり、いずれにもアクセスしたことがあるなら、部分一致の状態でタブキーx2を打つと候補一覧が番号付きで表示される。その状態から該当番号を打てばジャンプできる。例えば2つのディレクトリreference_human、reference_bacteriaを作ってテストしてみる。
#作って一度アクセスする
mkdir ~/genome/reference_human/ && cd ~/genome/reference_human
mkdir ~genome/reference_bacteria && cd ~/genome/reference_bacteria
#テスト前に適当な場所に移動。ここではroot直下に移動
cd /
準備できたのでテストする。refまで打ってみる(候補は増えるが、"re"でも、"r"一文字だけでもautojumpは機能する)。
j ref
タブキーx2で候補を表示。
$ j ref__
ref__1__/Users/kazuma/genome/reference_human
ref__2__/Users/kazuma/genome/reference_bacteria
reference_bacteriaに飛びたいので"2"を打ち、タブキーを1度押す。2がパスに変換される。そのままエンターキーを打てばジャンプする。
j /Users/kazuma/genome/reference_bacteria
/Users/kazuma/genome/reference_bacteria
パス確認
$ pwd
/Users/kazuma/genome/reference_bacteria
root直下からジャンプできている。非常に便利。
例3
ジャンプする代わりに、ディレクトリのウィンドウを開くこともできる(mac osのopenコマンドに近いが( "open .")、こっちの方が便利)。
jo music
joコマンドには候補表示機能はありません。パス情報が不完全だとデータベースにある中でウエイトが一番高いパスに飛びます(データベースやウエイトは"j -s"で確認)。
フルパスを忘れたなら、例2のようにjコマンドでまず候補を表示、確定し、それからCtrl + aで先頭にバック、joに変えた方が早そうですね。
データベースには消去したディレクトリも残っているので、補完すると消したパスも表示され視認性が悪くなります。邪魔になってきたら"autojump --purge <directory>"で消して下さい。--increaseや--decreaseで表示のウエイトを変えることもできます。
引用
参考HP