autojumpが便利
autojump
というCUIユーティリティがめっちゃ便利で良く愛用しています。
zsh使いなら効率改善のため知っておきたいAUTOJUMP - Glide Note - グライドノート
autojumpはある文字列から、それを含む一番よく使うディレクトリに自動的に移動してくれる優れもの
例えば
$ j D
などと入力すると、~/Desktop
などに一発で移動できます。
GUIで使いたい
他にjo
というコマンドがあって、それを使うとGUIでディレクトリを開くこともできるけど、いちいち黒い画面を立ち上げなければならないので、上手い具合にGUIでも使いたかった。
Alfred Workflow作った
Alfred App - Productivity App for Mac OS X
Alfred2の有償版には"Workflow"という仕組みがあり、自分で検索用のスクリプトを作ることができます。 というわけで、Alfredからautojumpを叩く奴を作ってみた。
giginet/alfred-autojump-workflow
基本の使い方はAlfredを立ち上げて「J <キーワード>」と入力するだけでOK!
また、候補がみつからなかったときは、データベースの上位にあるディレクトリの一覧を表示してくれる。ディレクトリ名がうろ覚えでも簡単にアクセスできてベンリベンリ。
Workflow内にautojumpを含めているので、shellでautojumpを導入していなくても使えるはず・・・・・・。(未確認)
CUI版を使っている人は、同じデータベースを共有しているので、今まで学習させた頻度データがそのまま使えます。逆にWorkflowからautojumpしても、CUIで使うのと同様に利用頻度の更新も行われるため、CUI版を使わなくても利用できるはず。
導入方法
- Afred2をインストールする
- Alfred PowerPackを買う
- autojump.alfredworkflowをダウンロードする
- ダブルクリックでインストールする
Alfred Workflowの作り方
初めて作ったので見よう見まねでやってみました。
基本はスクリプトを書いて、標準出力を順次受け渡していくだけ。 普通にShellスクリプトを書いて自由に実行できる。Python, Perl, Ruby, PHPなどのスクリプトを実行することもできるので好きな言語で書けます。 一覧表示をしたり、特殊な表示方法は、決まったフォーマットのXMLで出力することで整形してくれます。
公式ではPHPのスクリプトが多くて、Alfred向けのフォーマットに出力してくれるライブラリが充実している感じ。要はXMLを吐けばいいので何でも書けます。僕はPythonで書いた。
autojump.alfredworkflow
は、ScriptFilterで候補を表示し、Run Scriptでopen
してるだけの簡単な実装
資料はあんまり多くないですが、公式のフォーラムや、他の人が作ったWorkflowを参考にすれば、割と自由にいろいろ作れると思います。