emacsのw3mパッケージを使ってみる

emacs上でw3mブラウザを表示する方法をまとめました。


1 w3mパッケージとは

CUIベースのウェブブラウザw3mをemacsバッファ上で使えるようにするemacsパッケージです。

CUIベースのウェブブラウザはw3m以外にもlinksやlynx等があります。

2 w3mコマンド

w3mコマンドをインストールします。

$ sudo apt-get install -y w3m

3 emacsのw3mパッケージのインストール

Ubuntuならw3m-elパッケージを、OSXならemacs-w3mパッケージをインストールします。

ここではソースコードからインストールする方法について記載します。

$ cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot co emacs-w3m
$ cd emacs-w3m
$ autoconf
$ ./configure --prefix=${HOME}
$ make all install

${HOME}/share/emacs/site-lisp/w3m/にインストールされます。

4 .emacsの設定

4.1 ロードパス

ロードするパスを設定します。

(add-to-list 'load-path (expand-file-name "~/share/emacs/site-lisp/w3m"))

4.2 エンコーディング

エンコーディングをUTF8にします。

(setq w3m-coding-system 'utf-8
      w3m-file-coding-system 'utf-8
      w3m-file-name-coding-system 'utf-8
      w3m-input-coding-system 'utf-8
      w3m-output-coding-system 'utf-8
      w3m-terminal-coding-system 'utf-8)

4.3 URLをw3mのバッファで開く

URLをw3mのバッファで開く設定をします。

URLにカーソルを合わせてC-xキー mキーを押すとURLをw3mで開きます。

(setq browse-url-browser-function 'w3m-browse-url)
(autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t)
(global-set-key "\C-xm" 'browse-url-at-point)

4.4 HTMLファイルをw3mのバッファで開く

HTMLファイルをw3mのバッファで開く設定をします。

HTMLファイルに対するauto-mode-alistの設定はemacs org-modeパッケージとの相性が悪く、org-modeパッケージによるHTMLファイルのエクスポートがうまく動作しなくなります。

そこで、HTMLファイルをw3mで開く設定を別ファイルの.emacs_htmlに保存しておき、HTMLファイルを開く場合はemacsの-lオプションで.emacs_htmlを指定するようにします。

 

.emacsに以下を追加します。

(require 'w3m-load)
(defun w3m-browse-current-buffer ()
  (interactive)
  (w3m-find-file buffer-file-name))
(global-set-key "\C-xn" 'w3m-browse-current-buffer)

以下の.emacs_htmlを新規に作成します。

(add-to-list 'auto-mode-alist
             '("\\.html\\'" . w3m-browse-current-buffer))

Midnight CommanderでHTMLファイルを開く場合はemacs -l ~/.emacs_htmlをOpenに指定すると良いでしょう。

$ emacs -l ~/.emacs_html hello.html

あるいはHTMLファイルを開いていた後に、C-xキー nキーを押すことでHTMLファイルのバッファをw3mのバッファで開きます。

5 ショートカット

私がよく使うショートカットキーは以下の通りです。

 

Qキー 終了する(qキーの場合は確認なし)
Sキー Google検索のダイアログを開く
Rキー ページをリロードする
Bキー 前のページに戻る
Nキー 次のページに戻る
aキー ページをブックマークに追加
vキー ブックマークを表示
[キー 前のエディットボックスに移動
]キー 次のエディットボックスに移動
cキー 現在のページのURLを表示
Eキー 現在のページのURLを編集
Gキー 新しいセッションでURLを開く