2005-09-20

Emacs から firefox を呼び出す

GNU Emacs から外部ブラウザーを起動するコマンドに browse-url というのがある。実行すると、URL を聞いてくるので入力。するとウェブ・ブラウザーが起ち上がり、入力した URL を開く。メールや README の中に URL が書いてあった時に重宝する。

起動するウェブ・ブラウザーは、OS (Windows/Mac/Linux) によって変わる。Linux なら、mozilla かな?

URL の入力は面倒なので、関数が幾つか用意されてる。代表的なものは二つ:

browse-url-at-point
ポイントの下にある URL をブラウザーで開く
browse-url-at-mouse
マウスの下にある URL をブラウザーで開く

設定は、例えばこんな感じ

; デフォールト・ブラウザーを mozilla に設定
(setq browse-url-browser-function 'browse-url-mozilla)
; 
        C-c u でブラウザー起動
(global-set-key "\C-cu" 'browse-url-at-point)
; 中クリックでブラウザー起動
(global-set-key [mouse-2] 'browse-url-at-mouse)

      

firefox をデフォールト・ブラウザーに

mozilla じゃなくて、 firefox を使いたい。ぼくもその一人。起動するブラウザーは変数 browse-url-browser-functionbrowse-url-something という関数名をバインドして指定する。mozilla の場合、 browse-url-mozilla なので、 firefox なら browse-url-firefox... かと思いきや、そんな関数は用意されてない。

自作しなければ駄目なのか、というと、そうでもなくて... firefox は mozilla プロジェクトから生まれたソフトだから、ほとんど mozilla と同じ。だから、 browse-url-mozilla をそのまま使えばいい。替わりに mozilla の実行コマンド名を firefox に変更する。

(setq browse-url-mozilla-program "firefox")

browse-url-firefox

といった所で、お茶を濁そうとしたのだけど、最新の browse-url に browse-url-firefox があった Xp。確認したのは、Emacs CVS に付いてくる browse-url.el。ChangeLog に由ると、[2005-06-18] に新しく作られたとある。

最新の browse-url.el を使っている人は、下のコードで十分。

(setq browse-url-browser-function 'w3m-browse-firefox)

Emacs-w3m と一緒に使う

僕のデフォールト・ブラウザーは Emacs-w3m なので、上の設定はしていない。代わりに、 Emacs-w3m の外部ブラウザー ( Emacs-w3m で見れないページあった時に使う代わりのブラウザー) として firefox を呼び出すようにしている。設定は次の通り。

(setq browse-url-browser-function 'w3m-browse-url)
(setq w3m-content-type-alist
      (cons
       '("text/html" "\\.s?html?$" browse-url-firefox) w3m-content-type-alist))
.

No comments:

Post a Comment