Emacs上でgistを編集して、サクッと更新するためのanything-gist.el


最近、ちょこちょことしたものやメモ書きのようなものは、全部gistにポストしてます。gitの知識がなくても使えるのでとてもお手軽です。

Emacsであれば、gist.elを入れておくことで、Emacsからポストできるようになるので更に便利。しかも最近のバージョンアップでは、ポストするだけでなく自分のgistをリスト表示できるようになりました。
defunkt’s gist.el at master – GitHub
ただ、すごく残念な事にすでにあるgistをEmacs上で編集して更新することができません。というか、編集するAPIがないようです。
だからといって、ブラウザの中で編集するのも億劫なので、どうにかして更新できるようにしてみました。

インストール

使うには、まずanything.elとgist.elが必要になります。事前に設定しておきましょう。
EmacsWiki: Anything
それと内部でgitコマンドを使ってます。入れておきましょう。
Git – Fast Version Control System

そしたら、anything-gist.elをロードパスの通ったところに置いておきます。auto-install.elをインストールしていれば、M-x auto-install-from-gist として 467982 というIDを入力すればインストールできるはずです。
後は.emacsなどに(require ‘anything-gist)と書いておけば、終了です。ソースコードも貼っておきます。

ちなみに、ソースコードを見ていただくとわかると思いますが、シェルコマンドを多用しているため、Win環境では動作しません。どうにかしたら動くかもしれませんが、僕は知りません。ごめんなさい。

使い方

M-x anything-for-gistとすると、anythingのインターフェイスでgist IDのリストが表示されます。アクションの中からviewを選ぶとgistの中身が表示されるはずです。この時アクションをeditにしておくとローカルに一時的に保存されたファイルが開きます。後はごにょごにょ編集。編集が終わったら、C-c C-sとします。保存された後に変更内容が更新されるはずです。

その他

gistはID番号で管理されているため、リスト表示してもどこに何のコードが入っているか、よくわかりません。
そんな時はC-zやC-c C-fなどでpersistant actionをオンにしてから見ると良いかもしれないです。
我ながら、かなりぐだぐだな感じのところも結構あります。変なところあったら教えてもらうと大喜びします。