ナンクル力学系 home

Anything.elライクなCUIのzaw.zshやcanythingをMendeleyやgistyやz(もしくはj)と使う設定

こんなの↓をやる設定です (zaw.zsh で Mendely で管理している論文PDFを選んでいる様子):

zaw-mendeley.gif

シェル環境で使える anything.el ライクな環境は zaw.zsh と canything のふたつがある (もっとあるかも?)。

zaw.zsh

zsh の魔術(ウィジェット)なのでカスタマイズするのにとっつきにくかった。

設定は、ウィジェットを定義したファイルを source すればOK。 例えば、

source path/to/zaw-mendeley.zsh

.zshrczaw.zsh を source したあとの行に加える。

canything

パイプで受け渡しができて使いやすい

<候補を出力するコマンド> | canything | <絞り込んだ結果を受け取るコマンド>`

という具合に使える。

ただ、空白をあけて複数の単語で絞り込み、っていう使い方が出来ないのが難点。

→ 修正されたようです! コメントで作者さんからAND検索が出来るようになったと教えてもらいました (2011-05-11 追記)。

使い方は canything: CUIでAnything にある。 例えば、 .zshrc で下に書いてある ja とか gy ようなシェル関数を定義すれば良い。

Mendeley で管理しているPDFファイルを絞り込んで開く

Mendeley は論文を管理してくれるソフトウェア+ウェブサービス。 ローカルにあるディレクトリにPDFを著者名や年や論文名を含めた ファイル名で保存してくれるので、それを使って絞り込める。 一番上の画像でやってるのがそれ。

Bitbucket で zaw-mendeley.zsh のソースを見る

gisty で管理しているリポジトリのワーキングディレクトリに一覧から選んで移動

gistyは、 Gist の管理をしてくれるコマンド。 (gistコマンドよりちょっと便利なgisty - SWDYH) gist list ってやればリポジトリ一覧を見せてくれるんだけど、 ディレクトリ名がランダムで分かりにくいのでanythingライクに絞り込めると便利。

Bitbucket で zaw-gisty.zsh のソースを見る

canything バージョン:

gy(){
    local choice="`gisty list | canything`"
    if [ $? -eq 0 ]
    then
	local gitdir=`echo $choice | cut -d":" -f1`
	local destpath=$GISTY_DIR/$gitdir
	if [ -n "$gitdir" -a -d "$destpath" ]
	then
	    cd $destpath
	fi
    fi
}

z (もしくはj) を使って、よく使うディレクトリへ一覧から選んで移動

z/j はよく行くディレクトリに一発でジャンプできるコマンド。 過去に行ったディレクトリを記録しててくれて、その頻度からジャンプ先を勝手に選んでくれる。 例えば、 ~/repos/arataka.github.com/ なるディレクトリでよく作業をしているなら、 z arataka とやれば一発でそこに行ける。 このコマンドにも anything ライクに使えるようにした。

ちなみに、 z/j には色々なバージョンがある(下)。 z が最新バージョンで、特別な設定なしでも zsh で使えるので、使うなら z が良いはず。

zaw.zshでディレクトリスタックを選択したい。 - hchbaw記 とやりたいことは似ているけど、ディレクトリスタックだとそのセッション以外で行ったディレクトリにアクセス出来ないのが難点。 z/j だと過去に行ったディレクトリならどこへでも行けるし、よく使うものほど上に来るので使いやすいと思う。

Bitbucket で zaw-z.zsh のソースを見る

canything バージョン:

ja(){
    local destpath=`j 2>&1 | sed -n -e '2,$p' | sed 's/^[0-9\\. ]*//' | tac | canything`
    if [ $? -eq 0 -a -n "$destpath" -a -d "$destpath" ]
    then
	cd $destpath
    fi
}
blog comments powered by Disqus