$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

emacsでファイル行へのリンクを保存する

 僕はコードを書いていると、「このファイルのこの行辺り、こんなことやってるからメモしておきたい」みたいなことがよく起こります。その時、emacsgrepした時とかに表示されるファイルリンクみたいな感じで、メモしたいと思いました。下のような感じ。

f:id:shiba_yu36:20121216151158p:plain

 とりあえずのところ、その機能はorg-modeでできたのでメモします。

orgモードを使って現在のファイル行へのリンクを保存する

 org-modeを使って現在の行へのリンクを保存するにはorg-store-linkを使います。これを適当にkeybindに割り当てておくと便利です。

(define-key global-map (kbd "C-c l") 'org-store-link)

 その後、以下のようにある行にいる状態でC-c lをします。
f:id:shiba_yu36:20121216151515p:plain

 その後、適当なorgファイルでC-c C-lをすると、リンクを貼り付けられます。enterとか押すと、そのファイルに飛ぶことができます。
f:id:shiba_yu36:20121216151711p:plain

 さらにリンクにdescriptionをつけておくことができて、例えば「明日の作業はここからやる」みたいな感じでリンクを作っておくこともできます。便利ですね。
f:id:shiba_yu36:20121216152005p:plain

ファイルリンクの作り方??

 いろいろ試してみたくて、こういうふうなファイルリンクをemacsでどうやって作ればいいのか調べてみたけど、よくわかりませんでした。org-modeとかgrepとか、mode-compileとかってどうやってやってるんでしょう。text-propertyとか使っているのかな。