2007-08-04

Emacs-w3mでURLコピー


デフォルトではEmacs-w3mのkeymapは、'c'にw3m-print-current-urlを割り当てている。
この関数は現在開いているページのURLを表示してkill-ringに追加してくれる。しかし、URLをkillしたければ'g'を押して'C-k'すればすむ話。むしろ画面に表示されないタイトルをkillするのがよっぽど面倒だ。
ページへのリンクを貼りたい時に、いちいち


<a href="foo">bar</a>

などと打つのも大変なので、こういう内容をkillしてくれる関数を書いてみた。


(defun my-w3m-yank-current-page ()
(interactive)
(kill-new (concat "<a href=\"" w3m-current-url "\">"
(w3m-encode-specials-string (w3m-current-title))
"</a>")))
(add-hook 'w3m-mode-hook
'(lambda ()
(define-key w3m-mode-map "c" 'my-w3m-yank-current-page)))

~/.emacs-w3mに、書いておくと'c'を押した時に上で書いたような文字をkillしてくれる。
意外と便利。