This file documents emacs-w3m, an Emacs interface to w3m.

このファイルは Emacs で動く w3m のインタフェースである emacs-w3m に関
する説明書です。

Copyright (C) 2000, 2001, 2002, 2003 TSUCHIYA Masatoshi

This edition is for emacs-w3m version 1.3.6.

この版は emacs-w3m バージョン 1.3.6 に対応します。

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU General Public License, Version 2 or any
later version published by the Free Software Foundation.

この文書を、フリーソフトウェア財団発行の GNU 一般公用使用許諾書第 2 版
またはそれ以降の版が定める条件の下で複製、配布、あるいは変更することを
許可します。

This document is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

この文書は有用とは思いますが, 頒布にあたっては, 市場性及び特定目的適合
性についての暗黙の保証を含めて, いかなる保証も行ないません. 詳細につい
ては GNU 一般公有使用許諾書をお読みください.

You should have received a copy of the GNU General Public License
along with this document; if not, you can either send email to this
document's maintainer or write to: The Free Software Foundation, Inc.;
59 Temple Place, Suite 330; Boston, MA 02111-1307, USA.

あなたは, この文書と一緒に GNU 一般公有使用許諾の写しを受け取っている
はずです. そうでない場合は, 文書の管理者にメールを送るか、または、フリー
ソフトウェア財団 (675 Mass Ave, Cambridge, MA 02139, USA) に手紙を書い
てください。

Emacs-w3m ユーザマニュアル
**************************

                                                  Emacs-w3m 開発チーム

この文書は emacs-w3m バージョン 1.3.6 に対応します。

 -- 項目の詳細なリスト ---

Getting Started

Basic Usage

Pretty Good Features

Customizable Variables

Hooking into MUAs

Frequently Asked Questions

Known Problems

Shimbun Library

Tips

Mailing List

Emacs-w3m Functions

はじめに
********

Emacs 上で動作するブラウザと言えば、普通は W3
(http://www.cs.indiana.edu/elisp/w3/docs.html) のことですが、動作が非
常に遅いので、なかなか常用しようという気になれません。それに対して、
w3m (http://w3m.sourceforge.net/) というテキストベースで動作するブラウ
ザがあり、非常に軽快に動作するので重宝しているのですが、端末に移動しな
ければいけないのが面倒です。

そこで、w3m を HTML の rendering engine として使用し、表示とインタフェー
スのみを Emacs で動かすようにすればいいんじゃないだろうか、ということ
を考えました。つまり、emacs-w3m は、w3m を emacs 上で動かすインターフェー
スプログラムですが、emacs 上で動くウェブブラウザとして使うこともできま
す。

すばらしい w3m プログラムを開発してくれた伊藤彰則さんと w3m チームのみ
なさんに、格段の感謝を捧げます。さらにコメント、提案およびバグの修正を
してくれたすべての人々に感謝します。たとえ問題があっても、責任はすべて
私たち (emacs-w3m 開発チーム) にあります。もっとも、保証はまったくあり
ませんが。Emacs-w3m は 2000年6月に土屋雅稔によって創始されました。

Emacs-w3m の公式ページ (http://emacs-w3m.namazu.org/) も併せてご覧下さ
い。

Emacs-w3m を使い始めるのはとっても簡単
**************************************

ひょっとすると、あなたのシステムには emacs-w3m がすでにインストールさ
れているかもしれません。その場合、あなたはこの項を読み飛ばして、直ちに
使い始めることができます。そんな幸運に恵まれなかったならば、emacs-w3m
のインストールの仕方を会得するために、読み続けて下さい。

どんなバージョンの Emacs で使えるの?
====================================

以下に挙げたいろいろなバージョンの Emacsen で emacs-w3m を動作させるこ
とができます。

`Emacs 21.x'
     追加のパッケージは不要です。

`XEmacs 21.x'
     APEL パッケージと `gifsicle' プログラムが必要です (see Other Requirements)
     。最も安定している最新の XEmacs 21.4 を使うことを
     推奨します。

`Emacs 20.x'
     追加のパッケージは不要です。さらに BITMAP-MULE パッケージを使うこ
     とによって、白黒のビットマップ画像をインライン表示することができ
     ます (see Other Requirements)。

`Emacs 19.34 (含 Mule 2.3)'
     APEL パッケージ、`新しい custom' パッケージおよび `regexp-opt.el'
     モジュールが必要です。Emacs 19.34 を元にした Mule 2.3 では、
     BITMAP-MULE パッケージを使うことによって、白黒のビットマップ画像
     をインライン表示することができます (see Other Requirements)。

w3m を使います: emacs-w3m が速いわけ
====================================

Emacs-w3m は外部コマンド w3m を、ウェブコンテンツを取得するためのバッ
クエンドとして、または HTML の描画エンジンとして使用します。非同期動作
によって高速な Emacs ウェブブラウザを実現することができたのは w3m のお
かげです。

あなたは最新の w3m をインストールしなければなりません。それは以下の場
所で取得できます:

`http://prdownloads.sourceforge.net/w3m/'

Emacs-w3m を動作させるのに必要なもの
====================================

Emacs のバージョンによっては、サードパーティのパッケージが必要になるこ
とがあります。この項では、それらを見つけてインストールするための資料を
提供します。

`APEL'
     XEmacs、Emacs 19.34 または Mule 2.3 に不可欠です。Emacs-w3m を構
     築する前に APEL をインストールしなければなりません。APEL は以下の
     場所にあります:

     `ftp://ftp.m17n.org/pub/mule/apel/apel-10.6.tar.gz'

     APEL XEmacs パッケージ (SUMO に含まれています) は使えないことに注
     意して下さい。もしすでに APEL XEmacs パッケージがインストールされ
     ているならば、それを上記のリンクで示した APEL で置き換えるために、
     以下の命令を使って下さい (新規に APEL をインストールする場合も同
     じ命令を使うことができます):

          % rm -fr /usr/local/lib/xemacs/xemacs-packages/lisp/apel
          % cd apel-10.6
          % make install-package XEMACS=xemacs-21.4.x\
            PACKAGEDIR=/usr/local/lib/xemacs/xemacs-packages

`gifsicle'
     XEmacs に不可欠です。すべての XEmacs 21.x には、オプティマイズさ
     れたアニメーション gif が正常に表示されなかったり、ある種のインター
     レース gif を表示しようとするとクラッシュしてしまう既知のバグがあ
     ります。Emacs-w3m は gif データを XEmacs 21.x で扱える形式に変換
     するために、`gifsicle' プログラムを使います。これは次の場所から入
     手することができます:

     `http://www.lcdf.org/gifsicle/'

`ImageMagick'
     ImageMagick パッケージに含まれている `convert' プログラムがあれば、
     emacs-w3m は画像サイズの変更や `favicon' 画像を Emacs が扱えるフォー
     マットに変換するためにそれを使います。Emacs-w3m は ImageMagick が
     無くても動作しますが、あればウェブページの見栄えが良くなるでしょ
     う。ImageMagick パッケージは、以下の場所から手に入れることができ
     ます:

     `ftp://ftp.imagemagick.org/pub/ImageMagick/'

     ImageMagick バージョン 5.4.0-5 以上のものが `favicon' 画像の操作
     に使えることを、ざっと確認しています。

`BITMAP-MULE'
     Emacs 20.x か Emacs 19.34 を元にした Mule 2.3 で白黒のビットマッ
     プ画像を表示するために使います。画像に興味が無ければ、必ずしも必
     要ではありません。以下の場所で取得できます:

     `ftp://ftp.jpl.org/pub/elisp/bitmap/'

`new custom'
     Emacs 19.34 (含 Mule 2.3) に不可欠です。Emacs 19.34 に含まれてい
     る `custom' ライブラリは *古い* もので、これの API は最近の Emacs
     に含まれている `新しい custom' とは違っています。Emacs 19.34 用の
     `新しい custom' は、以下の場所から手に入れることができます:

     `ftp://ftp.dina.kvl.dk/pub/Staff/Per.Abrahamsen/custom/custom-1.9962.tar.gz'

     Mule 2.3 のユーザは、以下のパッチを当てて少し変更しなければならな
     いことに注意して下さい:

          ----8<------8<------8<------8<------8<------8<------8<------8<----
          --- custom-1.9962/cus-face.el~	Wed Mar  4 19:52:39 1998
          +++ custom-1.9962/cus-face.el	Mon Mar  9 08:05:33 1998
          @@ -96,7 +96,7 @@
                 "Define a new FACE on all frames, ignoring X resources."
                 (interactive "SMake face: ")
                 (or (internal-find-face name)
          -	  (let ((face (make-vector 8 nil)))
          +	  (let ((face (make-vector face-vector-length nil)))
           	    (aset face 0 'face)
           	    (aset face 1 name)
           	    (let* ((frames (frame-list))
          ----8<------8<------8<------8<------8<------8<------8<------8<----

`regexp-opt.el'
     Emacs 19.34 (含 Mule 2.3) に不可欠です。`regexp-opt.el' ファイル
     は emacs-w3m の配布の `attic/' ディレクトリに含まれています。以下
     のように、単にどこか (例えば `site-lisp/' ディレクトリ) にコピー
     して、byte-compile すれば良いです:

          # cp -p attic/regexp-opt.el /usr/local/share/emacs/19.34/site-lisp
          # cd /usr/local/share/emacs/19.34/site-lisp
          # emacs -batch -q -no-site-file -f batch-byte-compile regexp-opt.el

`FLIM'
     `Shimbun' ライブラリを使うためには FLIM パッケージが必要です。
     `Shimbun' ライブラリはウェブ上の新聞を読むための道具類のコレクショ
     ンで、Gnus、Mew、Nana-gnus、T-gnus、Wanderlust などとともに使うこ
     とができます。See Shimbun Library.

     たとえ Emacs 20.x か Emacs 21.x を使っている場合でも、FLIM パッケー
     ジには APEL パッケージが必要であることに注意して下さい。したがっ
     て `shimbun' ライブラリを使うには、APEL と FLIM の両方をインストー
     ルしなければなりません。FLIM パッケージは以下の場所にあります:

     `ftp://ftp.m17n.org/pub/mule/flim/flim-1.14/'

`Mule-UCS'
     Mule-UCS Emacs Lisp パッケージを使うことによって、あなたの Emacs
     が Unicode システムを扱うことができるようになります。Emacs-w3m が
     UTF-8 などで書かれたページを表示できるようにするために、これをイ
     ンストールすることを勧めます。以下の場所から取得して下さい:

     `ftp://ftp.m17n.org/pub/mule/Mule-UCS/Mule-UCS-0.84.tar.gz'

     XEmacs ユーザ向けには、ここにコンパイル済みのパッケージがあります:

     `ftp://ftp.xemacs.org/packages/mule-ucs-1.04-pkg.tar.gz'

Emacs-w3m をインストールする
============================

Emacs-w3m の取得に関しては公式ページ `http://emacs-w3m.namazu.org/' を
参照して下さい。すべて準備できましたか?  では始めましょう。

非 UNIX 系のシステム (`configure' を実行できないか `make' コマンドが無
い、何らかのシステム) に emacs-w3m をインストールするには、この項を飛
ばして次の項 Non-UNIX-like systems に行って下さい。

  1. 最初に、配布された emacs-w3m の tarball を以下のように適当な場所
     で展開して、先頭のディレクトリに入って下さい:

          % tar zxf emacs-w3m-1.3.6.tar.gz
          % cd emacs-w3m-1.3.6

     Emacs-w3m を CVS で取得したのならば、`configure' スクリプトを生成
     するために (引数無しで) `autoconf' を実行しなければなりません。

  2. `configure' スクリプトを実行します。

          % ./configure

     *Gnus ユーザへの重要なお知らせ*:

     複数のバージョンの Gnus がインストールされている場合 (リリース版
     と開発版の Gnus があるかもしれません) は、`load-path' にあなたが
     使うバージョンがインストールされているディレクトリ (`gnus.elc' ファ
     イルを調べましょう) を含むようにして下さい。以下のように
     `--with-addpath' オプションを使うことによって、これを確実に行なう
     ことができます:

          % ./configure --with-addpath=/usr/local/share/emacs/site-lisp/gnus

     APEL、FLIM または他の何かを、デフォルトの `load-path' 以外の標準
     ではないディレクトリにインストールしてある場合は、以下のように
     `--with-addpath' オプションを使ってそれらを指定しなければなりませ
     ん (さらに、それに `:' で分けられた Gnus のディレクトリを含めても
     構いません):

          % ./configure --with-addpath=/opt/share/apel:/opt/share/flim

  3. 単に `make' と `make install' を実行します。XEmacs を使っている場
     合は、さらに次の段落も見て下さい。

          % make
          % make install

     すべての Lisp ファイルと info ファイルが適切なディレクトリにイン
     ストールされるでしょう。

     さて、あなたはどんなファイルがどこに行くか分かりますか?  それを前
     もって知るためには、これを使って下さい:

          % make what-where

     Emacs 21 または XEmacs を使っているならば、アイコン画像のファイル
     をインストールした方が良いでしょう。それを行なうには:

          % make install-icons

  4. 以下のように `make install' の代わりに `make install-package' を
     使うことによって、emacs-w3m を XEmacs パッケージとしてインストー
     ルすることもできます:

          % make
          % make install-package

     この場合 `make install-icons' を実行する必要はありません。

     パッケージ・ディレクトリを指定するには二つの方法があります:

        * `configure' オプションの `--with-packagedir=' を使います。例
          です:

               % ./configure --with-packagedir=/opt/xemacs/xemacs-packages
               % make what-where
               % make
               % make install-package

        * 変数 `PACKAGEDIR' を使います。例です:

               % ./configure
               % make what-where PACKAGEDIR=/opt/xemacs/xemacs-packages
               % make
               % make install-package PACKAGEDIR=/opt/xemacs/xemacs-packages

非 UNIX 系環境でのインストール
==============================

あなたのシステムで `configure' スクリプトを実行することができないか、
`make' コマンドが利用できない場合は、以下の文句を唱えて下さい。

     % emacs -batch -q -no-site-file -l w3mhack.el NONE -f w3mhack-nonunix-install

APEL、FLIM (または他の何か) が普通の場所にインストールされていないと、
インストーラはそれらを無視してしまうでしょう。そんな場合は、以下に示す
ように、それらの場所をインストーラに告げる必要があります:

     % emacs -batch -q -no-site-file -l w3mhack.el //c/share/apel://c/share/flim -f w3mhack-nonunix-install

設定しなければならない最低限のもの
==================================

この項には基本的な設定しかありません。ユーザの好みによってカスタマイズ
できるたくさんの変数は Customizable Variables に書かれています。

`Autoloads'
     Emacs-w3m を XEmacs パッケージとしてインストール (see
     Installing Emacs-w3m) してあれば `w3m/auto-autoloads.el' ファイ
     ルがあるので、autoload の設定を行なう必要はありません。そうでなけ
     れば、以下の行を `~/.emacs' ファイルに入れて下さい:

          (autoload 'w3m "w3m"
            "Visit the WWW page using w3m" t)

     これ以外に、必要に応じて以下のような設定を追加して下さい。

          (autoload 'w3m-find-file "w3m"
            "Find a local file using emacs-w3m." t)
          (autoload 'w3m-browse-url "w3m"
            "Ask emacs-w3m to show a URL." t)
          (autoload 'w3m-antenna "w3m-antenna"
            "Report changes of web sites." t)
          (autoload 'w3m-bookmark-view "w3m-bookmark"
            "Show bookmarks." t)
          (autoload 'w3m-dtree "w3m-dtree"
            "Display a directory tree." t)
          (autoload 'w3m-namazu "w3m-namazu"
            "Search files with Namazu." t)
          (autoload 'w3m-perldoc "w3m-perldoc"
            "View Perl documents" t)
          (autoload 'w3m-search "w3m-search"
            "Search words using emacs-w3m." t)
          (autoload 'w3m-weather "w3m-weather"
            "Display a weather report." t)

`Startup File'
     Emacs-w3m のいろんな変数をいじるときは、`~/.emacs-w3m' ファイル
     (これは `w3m-init-file' という変数のデフォルト値です) の利用を推
     奨します。このファイルは `~/.emacs' と似ていますが、こちらは
     emacs-w3m が起動するときに読み込まれます。しかし、例えば前述の
     autoload の定義のように、そこに書くべきではないコマンドがあること
     に注意して下さい。

`Proxy Gateway'
     あなたが防火壁 (firewall) の中にいて、proxy ゲートウェイを通して
     しか外部のウェブサイトに接続できない場合は、proxy ゲートウエイを
     使うように w3m に指示する必要があります。

     これにはいくつかの方法があります。一つは環境変数 `http_proxy' を
     shell 上で、こんなふうにグローバルに設定することです:

          setenv http_proxy http://proxy.hogege.com:8000/

     他に、変数 `w3m-command-arguments' をカスタマイズして、`-o' およ
     び `http_proxy=http://PROXY_SERVER_NAME:PORT/' を追加する方法があ
     ります。これは `~/.emacs-w3m' ファイルで以下のように行なうことも
     できます。

          (setq w3m-command-arguments
                (nconc w3m-command-arguments
                       '("-o" "http_proxy=http://proxy.hogege.com:8000/")))

     Proxy ゲートウェイを通さずに接続しなければならない `no_proxy' ホ
     ストを指定するには、環境変数 `no_proxy' (`no-proxy' ではないこと
     にご注意) にコンマで区分けされたホスト名を設定するか、または以下
     のようにドメイン名 (ホスト名ではない) のリストを、変数
     `w3m-no-proxy-domains' に設定して下さい。

          (setq w3m-no-proxy-domains '("local.com" "neighbor.com"))

     `no_proxy' ホストの設定に正規表現を使うには、変数
     `w3m-command-arguments-alist' のドキュメントを見て下さい。

基本的な使い方
**************

ネットサーフィンしよう!
=======================

Emacs-w3m でのウェブブラウジングは、御期待通り、キー操作で全て行なうこ
とができます。Emacs-w3m には、既存のウェブブラウザ／ドキュメントブラウ
ザに基づいた二種類のキー割当て体系 (キーマップ) が用意されています。一
つはテキストベースのウェブブラウザ lynx に基づくものです。このキーマッ
プは emacs-w3m のコード中では、`w3m-lynx-like-map' という変数で定義さ
れています。もう一つは、GNU プロジェクトの標準ドキュメントブラウザ
info に基づくものです。このキーマップは `w3m-info-like-map' という変数
で定義されています。ユーザは自分の好みや lynx、info の利用経験に基づい
て、どちらかのキーマップを選ぶことができます。キーマップを選択する方法
については Customizable Variables を見て下さい。特に選択をしな
かった場合、`w3m-lynx-like-map' がデフォルトのキーマップとして使われま
す。以降では、`w3m-lynx-like-map' に基づいて emacs-w3m の使い方を記述
します。

ターミナル以外で Emacs が動作している場合、例えば X Window System のク
ライアントとして Emacs が動作している場合、他の GUI ベースのウェブブラ
ウザと同様にマウスを使ってもブラウジングの基本操作を行なうことができま
す。キー操作の方が迅速なブラウジングが可能ですが、マウス操作の方が覚え
ることは少ないです。

とにかく動かしてみよう
----------------------

以下に挙げる三つの違うコマンドを使って emacs-w3m を起動することができ
ます。それらのコマンドの一つを試して下さい。ウェブページが "*w3m*" と
いう名前の Emacs のバッファ (emacs-w3m のバッファのこと) に表示されま
す。おそらく気付くでしょうけれども、emacs-w3m のバッファのメジャーモー
ドは `w3m-mode' です。

ここでは、それらのコマンドの最も基本的な使い方だけを説明します。個々の
コマンドについてもっと詳しく知りたい場合は、see Emacs-w3m Functions
を参照して下さい。また、ユーザの好みによって emacs-w3m の
動作を変えることができる変数に関する詳細は Customizable Variables
をご覧下さい。

`w3m'
     Emacs-w3m を起動して、`w3m-home-page' という変数で指定されたホー
     ムページを表示します。`w3m-home-page' のデフォルトの値は "about:"
     です。毎回 URL を指定できるようにしたい場合は、変数
     `w3m-quick-start' の値を `nil' にして下さい (see Customizable Variables)
     。

     これは Emacs のバッチコマンドとして使うこともできます。以下は例で
     す:

          % emacs -f w3m

     URL を指定して、このように使うこともできます:

          % emacs -f w3m http://emacs-w3m.namazu.org/

`w3m-find-file'
     ローカルファイル名をミニバッファで入力して、それを emacs-w3m で表
     示します。

`w3m-browse-url'
     URL をミニバッファで入力して、それを emacs-w3m で表示します。この
     コマンドは、どちらかと言えば他のアプリケーションプログラムから
     emacs-w3m を起動するために用意されています。

あなたがすでに Emacs のユーザならば、emacs-w3m のバッファの中で移動す
るのに苦労は無いでしょう。多くの標準のキーがそのまま使えるのですから。
例えば `C-n'、`C-v' それに `C-s' は emacs-w3m バッファで有効なキーです
(これらは一行下降、一ページ送り、または後方単語検索として共通に使われ
ます)。

リンクを辿るには RET キーを使って下さい。それにはポイントをリンクの場
所に移動しなければなりません。リンクは普通のテキストとは違って表示され
ているので、簡単に見分けることができます。それらは下線付き、または違う
色になっているはずです。それらの見栄えは `w3m-anchor-face' というフェー
スによって決まります (see Customizable Variables)。

`RET'
     現在位置のリンクが指し示すページを表示します
     (`w3m-view-this-url')。

     このコマンドの振る舞いは、厳密には現在位置のリンクの性質によって、
     または接頭引数を与えるかどうかに依存します。詳細は
     Emacs-w3m Functions を参照して下さい。

前述のように、変数 `w3m-quick-start' の値を `nil' に設定することによっ
て、`M-x w3m' コマンドを使ったときに URL を指定することが可能です。
Emacs-w3m のバッファでは、入力した新しい URL のページに行くための一般
的な方法がさらに二つあります。

`RET'
     Emacs-w3m のバッファにおいて、ヘッダラインに表示されている URL の
     位置にポイントを移動させてから RET を叩くことによって、ミニバッファ
     から URL を入力して、そのページを表示させることができます。
     Mozilla などの GUI ベースのウェブブラウザに慣れている人にとって、
     この機能はおなじみですよね。これに関する詳しい説明が
     Emacs-w3m Functions で見つかるはずです (`w3m-view-this-url')。

`g'
     emacs-w3m のバッファで `g' キーを押すと、ミニバッファから URL を
     入力して、そのページを表示させることができます (ポイントの位置と
     は無関係です)。このキーの割り当ては、すでに Gnus や Mew を利用し
     ている人にはおなじみでしょう。(`w3m-goto-url')。

`c'
     表示しているページの URL をエコーエリアに表示するとともに、
     `kill-ring' に URL を挿入します (`w3m-print-current-url')。

`u'
     現在位置のリンクが指し示す URL をエコーエリアに表示するとともに、
     `kill-ring' に URL を挿入します (`w3m-print-this-url')。

さて、あなたが読んでいるページが今日の時事ニュースかだれかの日記だった
ら、それを取り込んだ後で新しい内容で置き換えられているかもしれません。
次のコマンドを使うと、同じページの最新の内容を取り寄せることができます。
(このコマンドは、ページが壊れているように見える場合に、全画面の再描画
を強制させるためにも役立てることができます。)

`R'
     現在表示しているページを読み込み直します (`w3m-reload-this-page')。

ページ内を飛びまわる
--------------------

Emacs で移動用に割り当てられている馴染み深いキーがウェブページの閲覧中
に使えることは、おそらくすでにあなたを魅了しているでしょう。信じてもら
えないかもしれませんが、もっとあるのです!  私たちはあなたの時間を大切
にしたいので、ポイントの移動、ページのスクロール、あるいはとても速いや
り方でリンクを見つけるためのキーを追加しました。それらをマスターすれば、
それらがどんなに便利かを分かってもらえるでしょう。

Emacs の標準のキーバインドに比べて `w3m-mode' では、より短いキーストロー
クでスクロールコマンド群を呼び出せるようにキーが割り当てられています。
ウェブページ内でテキストを入力できる個所はかなり特別なので (see
Submitting Forms)、たいていのキーは特別な意味を持っていて、そこでは
`self-insert-command' に割り当てられていません。

`SPC'
     下に向かってスクロールします。`more' コマンドや `less' コマンド、
     あるいは Emacs の `view-mode' を使ったことがあれば、覚えるまでも
     ないキーですよね (`w3m-scroll-up-or-next-url')。

`DEL'
     上に向かってスクロールします。`less' コマンドや Emacs の
     `view-mode' に馴れ親しんでいるあなたの手は、自然にこのキーを叩く
     でしょう (`w3m-scroll-down-or-previous-url')。

`>'
     左にスクロールします。スクロールの量は
     `w3m-horizontal-scroll-columns' で与え、デフォルト値は 10 です
     (`w3m-scroll-left')。

`<'
     右にスクロールします。スクロールの量は
     `w3m-horizontal-scroll-columns' で与え、デフォルト値は 10 です
     (`w3m-scroll-right')。

`.'
     左にシフトします (小刻みな水平スクロール)。シフトの量は
     `w3m-horizontal-shift-columns' で与え、デフォルト値は 2 です
     (`w3m-shift-left')。

`,'
     右にシフトします (小刻みに水平スクロールです)。シフトの量は
     `w3m-horizontal-shift-columns' で与え、デフォルト値は 2 です
     (`w3m-shift-right')。

`M-l'
     現在ポイントがある位置のテキストが、水平方向に関して中心になるよ
     うにスクロールします (`w3m-horizontal-recenter')。

`w3m-mode' メジャーモードでは、いろいろな種類の移動コマンドが定義され
ています。すなわち、リンク、フォーム、それに画像 (それが表示されていて
もいなくても) です。

簡単な例を挙げてみます。広く知られている Google 検索エンジンで単語を調
べたいのだとしましょう。ステップ１: emacs-w3m で
`http://www.google.com' を開きます。ステップ２: ページが表示されたら
hit `]' を叩いて下さい。ぐわしっ! (1) (see Moving in a page-Footnotes)
ポイントがページの最初の入力フォームに移動しましたね。
今や `RET' を叩いてそこに何かを入力して、`C-c C-c' で送ることができま
す。このコマンド無しでは、そのページに `C-n' や `C-f' などを打ち込んで
移動しなければならなくて、まったく骨折りなことだったでしょう。

TAB
     次のアンカーへポイントを移動します。より厳密には、順方向で最も近
     いアンカーへ移動します。

`M-TAB'
`S-TAB'
     前のアンカーへポイントを移動します。より厳密には、逆方向で最も近
     いアンカーへ移動します (`w3m-previous-anchor')。

`]'
     次のフォームへポイントを移動します。より厳密には、順方向で最も近
     いフォームへ移動します (`w3m-next-form')。

`['
     前のフォームへポイントを移動します。より厳密には、逆方向で最も近
     いフォームへ移動します (`w3m-previous-form')。

`}'
     次の画像へポイントを移動します。より厳密には、順方向で最も近い画
     像へ移動します (`w3m-next-image')。

`{'
     前の画像へポイントを移動します。より厳密には、逆方向で最も近い画
     像へ移動します (`w3m-previous-image')。

(1) 普通そんな音はしないけれどね。英語版の Tadaa! は漫画などで使われる
擬音で、その状況に応じていろいろに訳されます。

ページ間を渡り歩く
------------------

この項ではページからページに移動するやり方を説明します。リンクを辿った
り URL を入力する方法はここにはありません (それら二つの方法は
Launching and Jumping で説明されています)。

ここには、以前に訪問したページの履歴を後ろに、および前に移動する (他の
ブラウザでは「戻る」「進む」としておなじみの) コマンドと、仮にもブラウ
ザたるものが義務として提供すべき「ホームページへ移動する」機能がありま
す。あらかじめ Tracing History の項を読んでおいた方が、たぶん
理解しやすいでしょう。

`B'
     以前に訪問したページの履歴を１ページ戻ります
     (`w3m-view-previous-page')。数の引数 N が与えられると N ページ戻
     ります。これは過去に戻るためのお勧めの方法です。

`N'
     以前に訪問したページの履歴を１ページ進みます
     (`w3m-view-next-page')。もちろん `B' で履歴を戻った後でなければ働
     きません。数の引数 N が与えられると N ページ進みます。このコマン
     ドは、まさに back to the future を実現します!

`H'
     ホームページへ移動します (`w3m-gohome')。ホームページの URL は
     `w3m-home-page' という変数で指定します (see Customizable Variables)
     。`w3m-home-page' のデフォルトの値は "about:" です。

以下のコマンドは、他には無い emacs-w3m の特長です。私たちはそれらの特
許を得ることができました。従って、他のいかなる場所でも見つからないでしょ
う。そのため、今日それらを使うことを学ばなければなりません! (真に受け
ないで下さいね。ただの冗談ですから。)

`^'
     現在表示されているページの親ディレクトリへの移動を試みます。例え
     ば、"http://foo/bar/" が表示されている場合は "http://foo/" に移動
     しようとします。この機能は次の観察に基づいて実装されました: ウェ
     ブブラウザのユーザは、しばしば一段階上のディレクトリに移動しなけ
     ればなりません。彼らが捜している情報が、現在のページに表示されな
     いから (それが削除されたので、あるいは検索エンジンが間違っている
     ページに連れて行ったため) です。

     他のウェブブラウザを使う場合、一般には、URL から DEL キー等を複数
     回使って、手作業で末尾のコンポーネントを削除する手間が必要です。
     Emacs-w3m では、この操作を `^' のたった一押し! で行なうことができ
     ます。

SPC
     Scroll up or go to next url.  (TODO)

DEL
     Scroll down or go to previous url.  (TODO)

マウスでサーフィン
------------------

Emacs-w3m の開発者達は、Emacs ギークでないまともな人にも emacs-w3m を
使ってもらえるように努力しました。URL を含むテキストの入力を除くほとん
どのウェブブラウズ操作をマウスだけで行なうことができます。修飾キーとし
てシフトキーが必要になる場合がありますが、emacs-w3m の開発者達がそもそ
も Emacs ギークなので...

ウェブ閲覧の基本となる「リンクを辿る操作」には `mouse-2' を使います。

`mouse-2'
     マウスカーソルの下にあるリンクを辿ります
     (`w3m-mouse-view-this-url')。

`S-mouse-2'
     新しいセッション (see Tracing History) のもとでマウスカーソル
     の下にあるリンクを辿ります
     (`w3m-mouse-view-this-url-new-session')。

スクロールバー、メニュー及びツールバーは、マウスで emacs-w3m を使うの
に役立ちます。ただし、お使いの Emacsen がサポートしていてかつ、カスタ
マイズしてそれらを「オフ」にしていないことが条件となります。言うまでも
ないですが、スクロールバーを動かして表示をスクロールさせることができま
す。「File」を押しのけてメニューバーの一番左に位置する「W3M」メニュー
から、この info ドキュメントで紹介している emacs-w3m の様々な機能を呼
び出すことができます。主要な機能についてはメニューアイテムを選ぶまでも
なく、ツールバー上のボタンアイテムを押せば呼び出せます。

タブ (see Using Tabs) を切り替えるには、ウィンドウのてっぺんの行を
`mouse-2'で直接クリックします。あるいは「W3M」メニューのとなりにある
「TAB」メニューからアイテムを指定します。

普段の生活に戻るには
--------------------

思い出して下さい。そもそもあなたが今 Emacs を使っているのは、ウェブを
見るためではなかったはずです。元々は... エディタの内蔵インタープリタを
scheme に置き換えたり、ソフトウェアの info ドキュメントを作成したり、
ソフトウェアのライセンスに関する自分の考えを記したメールを政府に送るた
めだったはずです。作業の過程でたまたまウェブを見る必要があり、しかもた
またま Emacs のバッファでウェブを見れてしまったせいで、あなたは Emacs
でウェブを見ていたのです。

さぁ、本来の作業に戻る時が来ました。あなたががんばらないと世界は変りま
せん。すぐに又ウェブを閲覧する必要があるなら `q'を、しばらく emacs-w3m
に戻ってくるつもりがないなら `Q' を使って下さい。

`q'
     Emacs-w3m のウィンドウと閉じて、他のバッファを選択します
     (`w3m-close-window')。

`Q'
     Arrived URLs (閲覧履歴, see Tracing History参照) を保存して
     emacs-w3m を終了します(`w3m-quit')。

画像表示を ON/OFF する
======================

あなたが使っているバージョンの Emacs がバッファに画像を表示することが
できるならば、あたかも Netscape のような「グラフィカル」ブラウザのよう
に、emacs-w3m はウェブページにそれらを表示することができます。下記のコ
マンドのどれかを使おうとする前に、あなたの Emacs が正しく画像表示に使
えることを確かめて下さい (see Required Emacs Version)。

現在のバッファにおける画像の表示を切り替えるには `T' を使って下さい。
それによって emacs-w3m はサーバから画像を取ってきて、しかる後にそれら
を「グラフィカル」ブラウザとしてそうなるであろうバッファの位置に表示し
ます。もう一度キーを叩くと、画像はバッファから消え去ります。

デフォルトでは emacs-w3m は画像を表示しませんが、その振る舞いを変更し
て常に画像表示することを選ぶのは可能で、それには変数
`w3m-default-display-inline-images' をカスタマイズして、その値を `nil'
から `t' に変更する必要があります。See Customizable Variables.

さらに emacs-w3m には、画像の拡大縮小、ファイルへのセーブ、または外部
ビューワで見る、といった気の利いた機能が付属しています。

`T'
     現在のバッファ (および後でそれを元に生成されるバッファ) における
     インライン画像の表示をトグルで切り替えます
     (`w3m-toggle-inline-images')。

`I'
     ポイントの下にある画像を外部ビューワで見ます (`w3m-view-image')。

`M-i'
     ポイントの下にある画像を外部ファイルにセーブします。デフォルトの
     名前はその画像の元の名前です。それ故に、ほとんどの場合に `M-i
     RET' は正しい名前で画像をセーブするでしょう (`w3m-save-image')。

`M-['
     ポイントの下にある画像を縮小 (zoom out) します
     (`w3m-zoom-out-image')。

`M-]'
     ポイントの下にある画像を拡大 (zoom in) します
     (`w3m-zoom-in-image')。

時空を遡る
==========

Emacs-w3m には、以前に訪問したすべてのページのリストを提示するための、
複数の方法があります。第一の方法は「emacs-w3m の履歴」(emacs-w3m
history) と単純に呼ばれるもので、そのセッション (注: そのバッファ内で
行なう操作とそれに対する反応) において訪問したページのリストを階層的に
提示します。すなわち、あるリンクを辿ると、それまでのページは行き先の
「親」になります。それは、訪れたページの跡を辿ったり、履歴が長くなって
しまった場合にどこから着たかを思い出すためには、たいへん都合の良いもの
です。

これは、GNU プロジェクトのホームページをちょっと訪ねた後における、この
機能の動作の例です:

     GNU's Not Unix! - the GNU Project and the Free Software Foundation (FSF)
       Philosophy of the GNU Project - Free Software Foundation (FSF)
         GNU Emacs - GNU Project - Free Software Foundation (FSF)
          Order from the Free Software Foundation (FSF)
       Links to Other Free Software Sites - GNU Project - Free Software Fo...
         EFF: Homepage

(実際には、この例は 72 桁に収まるように、少しばかり編集されています。
現実の emacs-w3m バッファでは URLs は切り詰められません。)

どの emacs-w3m バッファからでも `s' キーを使うことによって、このような
履歴を提示させることが可能です。

この履歴はバッファ・ローカル、すなわち、ある emacs-w3m のバッファに固
有のものであることに注意して下さい。でも emacs-w3m にはユニークな機能
があります: あなたが新しいページを訪問する場合、履歴は新しいバッファに
コピーされます。その結果、それまでに訪れたページに今まで通りアクセスす
ることができます。これは、Mozilla などの、新しいバッファでは履歴が常に
ゼロからスタートするブラウザとは異なります。

もう一つの過去に訪れたページに関する情報を手に入れる方法は、「arrived
URLs」です。これはあなたが emacs-w3m で訪問した、最後の 500個! の URL
のリストです。リストは日付順で、最も最近のものを先頭に、それぞれのペー
ジの訪問時刻が表示されます。これは例です (info の表示が拡がり過ぎない
ように編集されています):

     Order from the Free Software Foundation (FSF)             22:53:25
     GNU Emacs - GNU Project - Free Software Foundation (FS    22:53:05
     Philosophy of the GNU Project - Free Software Foundati... 22:52:46
     Philosophy of the GNU Project - Free Software Foundati... 22:52:39
     EFF: Homepage                                             22:52:18
     Links to Other Free Software Sites - GNU Project - Fre... 22:52:07
     Links to Other Free Software Sites - GNU Project - Fre... 22:52:07
     GNU's Not Unix! - the GNU Project and the Free Softwar... 22:51:32
     Bookmarks                                                 22:51:02
     The DICT Development Group- upwards                       2003-01-08
     the monkey puzzle: new debian packages as an rss feed     2003-01-08
     new-debian-packages.rss                                   2003-01-07
     it's a miracle                                            2003-01-06

前のコマンドに接頭引数を渡す、すなわち `C-u s' を使うことによって、こ
の履歴を得ることができます。このページに表示される URLs の数はカスタマ
イズできます。変数 `w3m-keep-arrived-urls' を参照して下さい。それはデ
フォルトでは 500 を越えることはできません。See Customizable Variables.

もちろん、すべての場合に、例に示されているすべての行はリンクです。その
リンクを辿ることによって、通常のページを訪問していたらちょうどそうなる
ように、以前に訪ねたどのページにも行くことができます。

`s'
     このセッションにおいて訪問した URLs のリストを表示します。接頭引
     数付きで呼ばれると、代わりに arrived URLs を表示します
     (`w3m-history')。

See Moving over pages の項も見て下さい。そこでは「戻る」「進む」な
どの機能に割り当てられた単純なキーで、履歴の中を移動するやり方を説明し
ています。

ぼくの/わたしのお気に入り
=========================

現代的なあまたのブラウザの例に漏れず、emacs-w3m には先進のブックマーク
の機能があります。それによってカテゴリー毎に分類し、それらを編集し、あ
あ、もちろん簡単に閲覧することができます。

日本語版注釈: ブックマークの語源は、本に挟む栞 (しおり) のことです。

お気に入りに URL を加える
-------------------------

ブックマークに URL を加えるには、いくつかのやり方があります。最初の一
つは、`a' キーを使って (または `w3m-bookmark-add-current-url' コマンド
を呼んで) 今現在閲覧しているページを加えることです。すると、そのブック
マークをどの項目に入れるかを尋ねられ (TAB キーによる補完が効きます)、
タイトルの書き換えが促されます (デフォルトは、そのページのタイトルになっ
ています)。これらの二つをこなしたら、それらを有効にするために `RET' を
叩いて下さい。すると "Added" というメッセージがミニバッファに現れて、
(驚くなかれ!) そのページがブックマークに記録されます。

ブックマークを加えるもう一つの方法は、`M-a' を使う (または
`w3m-bookmark-add-this-url' コマンドを呼ぶ) ことです。これは、現在位置
の URL (もしそのリンクを辿ると、閲覧することができる URL) をブックマー
クに加えます。その場合でも最初に説明した方法と同様に、項目の名前とタイ
トルを入力しなければなりません。そのとき、それらのデフォルトはリンク自
体の名前になっています。

最後に、三番目の方法は `C-u a' を叩くことです。このときは、ブックマー
クに加える URL、その項目、およびタイトルの入力が促されます。

`a'
     現在のページをブックマークに加えます。接頭引数付きで呼ばれた場合
     は、加える URL の入力が求められます
     (`w3m-bookmark-add-current-url')。

`M-a'
     現在位置の URL をブックマークに加えます
     (`w3m-bookmark-add-this-url')。

ブックマークを閲覧する
----------------------

ブックマークされたページを閲覧する最も簡単な方法は、emacs-w3m のバッファ
で `v' キーを叩くことです。ですがもう一つ、特別な URL である
`about://bookmark/' に行くことによっても可能です。すると一行あたり一つ
ずつのブックマークが、項目ごとにまとめられて表示されるでしょう。そこで
は、他のページを閲覧するのと同じように、それらを確実に閲覧することがで
きます。

`v'
     ブックマークのページを呼び出します (`w3m-bookmark-view')。

ブックマークを変更するには?
---------------------------

ブックマークは HTML ファイルに収められています。したがってそのファイル
は手で編集することができますが、十分に注意して下さい。emacs-w3m が項目
名を認識するために必要なコメントを消してしまうことによって、ものごとは
簡単に台無しになります。あなたが HTML の基本を知っていれば、むしろその
ファイルの中身は極めて分かり易いものでしょう。

`E'
     現在表示中のファイルを読み込んで、編集可能な状態にします
     (`w3m-edit-current-url')。

みんなタブが好きだよね
======================

ほとんどの他のテキストベースのブラウザーと異なり、emacs-w3m はタブによ
る閲覧をサポートしています (1) (see Using Tabs-Footnotes)。タブに
よる閲覧って何? と尋ねられそうですね。それはとても単純で、ウィンドウの
てっぺんの行にすべてのバッファを単純かつ分かりやすいやり方で表示するこ
とによって、単一のウィンドゥですべての emacs-w3m のバッファを表現する
方法です。それぞれのバッファは「タブ」として表示されます。この行は、他
のバッファに移動したり、ページの状態を知ることができるようにするために
常に見えたままになっていて、バッファにつられてスクロールしません。

その感触をつかむ最も簡単な方法は、単に試してみることです。ですから、引
き続いて emacs-w3m のセッションを始めて下さい。何も設定変更をしていな
ければ、デフォルトでタブの行が現れます。てっぺんで、小さな四角に現在の
ページのタイトルを表示している明るい行がそれです。では、(例えば `G' で)
別の w3m バッファを作ってみましょう。すると四角が二つになったでしょう。
それらがタブです。

もっとも分かりやすいタブの使い道は切り替えです: タブの上で `mouse-1'
ボタンをクリックすることによって、そのバッファを表示させることができま
す。`mouse-2' ボタンでも動作します。これは、複数の emacs-w3m バッファ
を使うための、非常に速くて簡単な方法です。単に指し示してクリックすれば
良いのですから。

もう一つの気が利いた機能は、ページの状態を知らせることです。カラー端末
かウィンドゥシステムを使っていれば、ページの状態を知らせるために
emacs-w3m は違う色でテキストをタブに表示します (2) (see Using Tabs-Footnotes)
。例えばベージを取り込んでいる最中はテキストは赤くなっ
ていて、取り込みが完了するとデフォルトの色 (通常は黒) に戻ります。これ
により、見ようと思って待っているページが到着したかどうかが、タブ行を一
目見ただけで分かります。

最後に、もしウェブページが favicon を持っていれば、それもタブに表示さ
れます (3) (see Using Tabs-Footnotes)。Emacs-w3m ユーザにもっと視
覚効果を!

ユーザオプション:

`w3m-use-tab'
     タブによる閲覧を活かすかどうか。

(1) 誰のせいでもないけれど、Emacs 19 か 20 のユーザはタブを使えません。

(2) XEmacs はすべてのタブをいつも同じ色で表示しますが、選択されたタブ
と他のものを区別したり、モードラインで現在のページの状態を知ることは簡
単です。

(3) XEmacs では今のところタブ行に favicon は表示されません。

バッファを作る/消す/移動する
============================

遅かれ早かれあなたは emacs-w3m 中毒になって、すべてのウェブの閲覧をそ
れで賄わなければならなくなるでしょう。あなたがめげてしまいそうなこの任
務を手伝うために、emacs-w3m のバッファで動作するたくさんの違う手段を考
えました。

バッファを作ったり消したり
--------------------------

時に、新しいウェブページを開かないで新しいバッファーを作ることが役に立
つことがあります。この操作を emacs-w3m の用語では「ふたごのコピーを作
る」(creating a twin copy) と言います。これは単に、その内容が現在のバッ
ファと同一な新しいバッファを作ります。

この反対はバッファーを閉じることで、今はその内容に興味が無い一つのバッ
ファを、単に閉じることができます。あるいは、現在のバッファ以外のすべて
を閉じることを決断しても良いです。以下のコマンドでそれを行なって下さい:

`C-c C-t'
     現在のバッファと同一のコピーを新しい名前で作ります。これは新しい
     バッファにウェブページを取り込まずに、新しいセッションを始めるの
     に使います (`w3m-copy-buffer')。

`C-c C-w'
     現在の emacs-w3m のバッファを閉じます (`w3m-delete-buffer')。

`C-c M-w'
     現在のもの以外のすべての emacs-w3m のバッファを閉じます
     (`w3m-delete-other-buffers')。

バッファ間の移動
----------------

最も頻繁に使うコマンドがたぶん隣のバッファに行くものであろうことは、世
間の認めるところでしょう。それは、現在の「後」か「前」のバッファです。
この意味はタブを使ってみればよくわかります。次のバッファは現在の右側の
一つ後、前のバッファは左側です。しかし、残念ながら XEmacs はタブを順不
同に表示するので、どれが隣のバッファかを知るには、各タブに表示されてい
る数字に注目する必要があります。これらのコマンドに割り当てられているキー
は `C-c C-p' と `C-c C-n' です。

これらのコマンドは数字接頭引数の習慣を理解します。すなわち、それらを数
N を引数として呼ぶと、現在のバッファから N 個離れたバッファに行きます。
例えば、現在位置から右にバッファを二個分 (すなわちバッファ二個分だけ次
に) 移動するには、`2 C-c C-n' を使って下さい (1) (see Moving across buffers-Footnotes)
。

`C-c C-p'
     前の emacs-w3m バッファに移動します。Emacs 21 では、これは通常タ
     ブ行において左方向に次です。数の引数 N を付けて使うと、バッファを
     N 個分前に移動します (`w3m-previous-buffer')。

`C-c C-n'
     次の emacs-w3m バッファに移動します。Emacs 21 では、これは通常タ
     ブ行において右方向に次です。数の引数 N を付けて使うと、バッファを
     N 個分次に移動します (`w3m-next-buffer')。

私たちが骨を折ったにもかかわらず、これらのコマンドがお気に召さないなら
ば、あなたが欲しいものが ibuffer や iswitchb のような万能志向の人
(generalist) 向けのバッファ管理パッケージの中にあるかどうかを探してみ
るのも良いかもしれません。emacs-w3m バッファは Emacs の正規のバッファ
ですから、それらもまた良好に動作するでしょう。

(1) いつものように、`2 C-c C-n' の代わりに `C-u 2 C-c C-n' を
使っても良いのですが、emacs-w3m のバッファではすべての数字キーとマイナ
ス記号が数の接頭引数に割り当てられていることを覚えておいて下さい。

リストからバッファを選ぶ
------------------------

リストから emacs-w3m のバッファを選ぶための二つのやり方があります。一
つ目は、`C-c C-a' で呼び出されるミニバッファ・ベースのインターフェース
です。表示したいバッファを、`M-p' と `M-n' キー (または `↑' と `↓'
キー) を使って選ぶことができ、それらはリストの中で循環します。また、プ
ロンプトを編集して、`TAB' の補完を使って既存のウェブページのタイトルを
書き込むこともできます。例えば、"Google Search" のページを開いてあるな
らば、"Goo" に続けて `TAB' を叩くことによって、そのページのタイトルが
完成します。ページの名前の後ろには、(鍵括弧で挟まれた) バッファの名前
が付きます。そして `RET' を使うと、あなたが選んだバッファに切り替わり
ます。

二つ目のもっと洗練されたインターフェースは emacs-w3m バッファリストと
言い、`C-c C-s' で起動されます。それは分割されたウィンドゥにすべての開
いているバッファを表示し (`C-c C-s' で表示形式が切り替わります)、実時
間でバッファを見ることができるようになります。そのバッファリストの中で
ポイントを移動すると、ポイントのところにあるバッファが主ウィンドゥに表
示され、バッファの切り替えが直接目に見える形で返ってくるのです。

バッファリストの中を移動するには `p' と `n' キー (または矢印キー) を使っ
て下さい。バッファリストでは、`DEL' と `SPC' で主ウィンドゥに表示され
ているバッファをスクロールさせることが可能で、これは正しいバッファを見
ているかどうかをチェックしたいときに便利です。ポイントのところにあるバッ
ファを選びたいときは `RET' キーを使って下さい。この場合はバッファリス
トが隠されます。あるいは、`w' キーを使った場合はバッファリストは表示さ
れたままで、主ウィンドゥにフォーカスします。

また、このメニューで普通のバッファで使われるのと同じキー割り当て
(see Creating and killing buffers) で、バッファを閉じたり作ること
もできます。

最後に、`?' はヘルプの表示、`g' はリストの作り直し、そして `q' はバッ
ファリストの終了を主ウィンドゥのバッファは変更せずに、それぞれ実行しま
す。

`C-c C-a'
     ミニバッファでバッファ名の入力を求めます。`M-p' と `M-n' で既存の
     バッファが循環し、`TAB' で補完できます (`w3m-switch-buffer')。

`C-c C-s'
     分割されたウィンドゥにバッファリストを表示します
     (`w3m-select-buffer')。このウィンドゥでは `C-c C-s' で水平と垂直
     モードが切り替わり、`RET' でポイントのところにあるバッファを選ん
     でバッファリストは隠蔽、`w' でポイントのところにあるバッファを選
     んでそれにフォーカス、`n' と `p' それに矢印キーが上下の移動に使え
     ます。

ファイルをダウンロードする
==========================

どんなウェブページやファイルも emacs-w3m でダウンロード (すなわち取得、
表示ではありません) できます。単にダウンロードしたいリンクにポイントを
置いて `d' を叩いて下さい。ローカルにセーブするファイル名が尋ねられま
す。デフォルトでは遠隔サーバーにおけるファイルの名前になります。それで
良ければ `RET' を押して下さい。ダウンロードは非同期に実行され、Emacs
で行なっている他の仕事の邪魔をしないので、そうしたければ他のバッファで
emacs-w3m による閲覧を続けることができます。

このダウンロードの仕組みは w3m を使うのですが、代わりにもっと強力な
wget を使うことも考慮してみて下さい。私たちのお友だちプロジェクトであ
る "emacs-wget" を覗いてみましょう。そのホームページはここ
`http://pop-club.hp.infoseek.co.jp/emacs/emacs-wget/' です。

`d'
     ポイントのところにあるリンクが指し示すファイルかページをダウンロー
     ドします (`w3m-download-this-url')。

HTML フォームに記入する
=======================

これらの emacs-w3m コマンドは、単純なキーバインドと専用の Emacs のウィ
ンドゥかミニバッファを使って、フォームからフォームへの移動とフィールド
に入力するための機能を提供します。

覚えておいて欲しい大事なキーバインドは `RET' です。これは現在位置にあ
るものによって異なる意味を持ちます。テキスト領域 (textarea) では、ミニ
バッファで値を入力することが促されます。選択用のタグでは、選択肢のリス
トが Emacs のエレクトリック (electric == 自己挿入) ウィンドゥに現れま
す (そこでは矢印キーで移動して、`RET' キーで一つを選ぶことができます)。
ラジオボタンおよびチェックボックスでは、`RET' キーでそれらのうちの一つ
を選びます。

ミニバッファかエレクトリック・ウィンドゥにいるときは、`C-c C-q' キーで
取り消すことができます。フォームに記入したものを送り出すには `C-c C-c'
を使って下さい。

`]'
     次のフォームにジャンプします (`w3m-next-form')。

`['
     前のフォームにジャンプします (`w3m-previous-form')。

`C-c C-c'
     現在位置のフォームに記入したものを送り出します
     (`w3m-submit-form')。

`RET'
     現在位置にあるのフォーム値を書き換えます。

`RET (w3m-form-*-keymap)'
     その値を選択します。

`C-c C-q (w3m-form-*-keymap)'
     フォームの編集を中断して、変更を取り止めます。

ウェブページ作りとハックのお手伝い
==================================

いつもドキュメントの執筆環境として、あるいはソフトウェアの開発環境とし
て Emacs を使っている人には、その環境の中でウェブを閲覧できるというの
は、本当に便利でしょう。HTML ファイルを執筆しているのであれば、他のウェ
ブブラウザを新たに起動する必要なく、Emasc の中で作成した HTML ファイル
をプレビューできます。プログラミング中にライブラリのドキュメントを開い
て、サンプルコードを切り貼りするといったことも迅速に行なえます。

逆はどうでしょう。すなわちウェブ閲覧の環境で、そのソースである HTML ファ
イルを編集したり、参照したりできたら便利だと思いませんか？ ドキュメン
トを執筆中に emacs-w3m で下見 (preview) して誤字を発見したとします。そ
の HTML ファイルをすぐに修正したくなるはずです。あなたがウェブテクノロ
ジーに携わるプログラマなら、閲覧中のウェブページを HTML 形式で閲覧した
くなることがあるでしょう、特に、新聞モジュールの作者の方 (see
Shimbun Basics)。

HTML ファイルをロードをしているバッファの名前を明示的に指定してバッファ
を切り替えてることもできますが、emacs-w3m ではそういった目的のために専
用のキーが割当てられています。Emacs-w3m は自分が現在表示しているウェブ
ページの URL を知ってるんです。その情報を使わない手はありません。

`\'
     表示中のウェブページを HTML 形式でそのまま表示します
     (`w3m-view-source')。

`='
     表示中のウェブページの情報を表示します。情報には、タイトル、URL、
     ドキュメントタイプ、最終変更日時が含まれます (`w3m-view-header')。

`E'
     現在閲覧中のローカルファイルを編集します (`w3m-edit-current-url')。

`e'
     現在ポイントの下にリンクの先のローカルファイルを編集します
     (`w3m-edit-this-url')。

`M'
     (Emacs-w3m 以外の) 外部ブラウザを新たに起動して、現在 emacs-w3m
     で閲覧しているページを表示します
     (`w3m-view-url-with-external-browser')。

たくさんのすぐれもの
********************

使いやすいウェブ検索
====================

Emacs-w3m には検索エンジンを利用するための先進の機能があり、二つのイン
ターフェースを通して利用することができます:

   * 標準のインターフェースです。`S' キーでいずれかの emacs-w3m バッファ
     から起動されます。これは検索エンジンを指定して検索語を入力する、
     単純な対話型のやり方です。See The Search Interface を参照して
     下さい。

   * クイックサーチ・インターフェースです。これは技巧的に作られた URL
     に行くことによって検索エンジンを利用するための、より速い (さらに、
     より複雑な) 方法です。この機能に関する詳細は Quick Searching
     を参照して下さい。

Emacs-w3m による検索のやり方
----------------------------

Emacs-w3m のバッファで `S' キーを使うことにより (デフォルトのキーマッ
プを使うものとします)、標準の検索インターフェースを立ち上げることがで
きます。すると、ミニバッファで検索語の入力を求めるプロンプトが現れるの
で、一つまたは複数の語を入れて、`RET' を叩いて下さい。そのエンジンの検
索結果のページが現れ、その後、あたかも検索エンジンに通常のウェブの流儀
による入力を行なったときのように、結果を閲覧することができます。

おそらく、あなたはどのエンジンで探索したいかを決める機会が与えられてい
ないことに気付くでしょう。Emacs-w3m はデフォルトで Google 検索エンジン
を使いますが、変数 `w3m-search-default-engine' (see Customizable Variables
参照) をカスタマイズすることによって、この振る舞いを変更す
ることができます。あるいは、このコマンドを使うたびに検索エンジンを指定
することができます。

どのエンジンを使用するかを明示するためには、コマンドに接頭引数を与えな
ければなりません (これは `C-u S' のように、コマンドの前に通常 `C-u' を
叩くことを意味します)。すると emacs-w3m はエンジンの入力を促すので、そ
の名前を一つ選ぶことができます (TAB キーで補完ができます)。いったん選
択したら `RET' キーを叩いて下さい。その後で検索語を入力することができ、
`RET' をタイプすれば検索結果が現れるでしょう。

`S'
     新しい検索を始めます。接頭引数付きで呼ばれた場合は、どのエンジン
     を使うかを尋ねます (`w3m-search')。

もう一つの (そして速い) ウェブ検索
----------------------------------

ウェブ・パワーユーザ (これを読んでいるあなた) には、迅速で効率的な検索
の方法が必要です。クイックサーチはその一つです。

それは何をするのかって?  それは `gg:emacs' のような特別の URL に行くだ
けで、ウェブ検索を始めさせるのです。このモードの動作の長所は、次の通り
です:

   * 速い。エンジンと検索語を選ぶのに、一つの URL をタイプするだけです。

   * 便利。この機能によって、容易に emacs-w3m のタブかウィンドゥを開い
     て、検索を始めることができます。例えば、`G' キーで新しいウィンド
     ウを開いてクイックサーチ URL に行くように。そして、特別のクイック
     サーチ URL そのものにも、ブックマークを付けることができます。

   * グルーピング機能も使える。例えば `group:gg:emacs&ya:w3m' のような
     URL によって、同時に二つの検索を始めることができます。例えばこの
     場合は、Google で "emacs" の、Yahoo! で "w3m" の検索をそれぞれ始
     めます。See Grouping URLs.

これを使うのはとても簡単です。"gnu" という単語を Google で探したいとす
れば、`g' を叩いてから "gg:gnu" という URL をタイプして下さい。この表
現の第一の部分 "gg" は、Google 検索エンジンを使用したいことを示します。
第二の部分は検索語です。エンジンと検索語は、コロンで分けなければなりま
せん。そして `RET' を叩けば検索結果を見ることができます。スペースで分
離した複数の語を入力できることを、心に留めておいて下さい (ミニバッファ
でスペースをタイプするには、`C-q SPC' のように、最初に`C-q' を叩いて下
さい)。

Emacs-w3m のデフォルトでは、利用可能ないくつかの検索エンジンの短縮形が
あり、それらは変数 `w3m-uri-replace-alist' で定義されています。例えば
Google には "gg"、Google Groups 用には "ggg"、Yahoo! のための "ya"、お
よび Altavista に対する "al" などの短い名前です。さらに検索エンジンの
短縮形を追加するには、see Adding New Search Engines を参照して下さ
い。

短縮形の代わりに、"google" や "yahoo" のような完全なエンジンの名前を、
クイックサーチ URL に使うこともできます。それらの名前は、変数
`w3m-search-engine-alist' で定義されます。

お気に入りのエンジンを使うには?
-------------------------------

Emacs-w3m は利用可能な多くの検索エンジンを持っています。あなたのお気に
入りの検索エンジンを使いたいのに、万が一にもそれが既知の検索エンジンの
リストに載っていなかったらどうしましょう?  それを検索エンジンのリスト
に加えれば良いのです。そしてそれは極めて簡単です:

  1. 最初に、あなたが加えたい検索エンジンのエントリー・ポイントが何か
     を知らなければなりません。例えば:

     `http://my.searchengine.com/?query=foobar'

     ここで foobar はあなたが検索したい語です。

  2. この情報が手に入ったら、`~/.emacs-w3m' ファイルに加えて下さい:

          (eval-after-load "w3m-search"
            '(add-to-list 'w3m-search-engine-alist
                          '("My engine"
                            "http://my.searchengine.com/?query=%s"
                            nil)))

     第一フィールドの "My engine" をあなたのエンジンの説明で、第二フィー
     ルドをエントリー・ポイントで置き換えて下さい (`%s' は重要です。こ
     れは検索を行なうときに、検索語で置き換えられます)。そして第三フィー
     ルドは使用するエンコーディングを意味し、`nil' またはそれが省略さ
     れた場合は変数 `w3m-default-coding-system' の値が標準のエンコーディ
     ングとして使われます。

     英語の検索エンジンでは滅多に気にする必要が無いことなのですが、い
     くつかの日本の検索エンジンでは、それに何か (例えば `euc-japan')
     を指定する必要があるかもしれません。

  3. 今やこの検索エンジンは、emacs-w3m で通常の `S' キーで使うことがで
     きます。このエンジンを頻繁に使うのならば、短いエンジンの名前をク
     イックサーチエンジン (see Quick Searching を参照) に加えるこ
     ともできます。それには、以下のコードを `~/.emacs-w3m' ファイルに
     追加して下さい:

          (eval-after-load "w3m-search"
            '(progn
               (add-to-list 'w3m-search-engine-alist
                            '("My engine"
                              "http://my.searchengine.com/?query=%s"
                              nil))
               (add-to-list 'w3m-uri-replace-alist
                            '("\\`my:" w3m-search-uri-replace "My engine"))))

     これにより、`my:foobar' のような URL を使って、あなたの検索エンジ
     ンで "foobar" という語を検索することができます。

一つの URL で複数のウェブページを見る
=====================================

Emacs-w3m は "group URLs" という、複数の実際の URL を一つにまとめた特
別な URL を扱うことができます。そのようなグループ URL を開くと、
emacs-w3m は一度に複数のページを開くために、そのグループに含まれるそれ
ぞれの URL に対して一つのバッファを開きます。

グループ URL を作るには、開きたいすべてのページのアドレスを単にアンパ
サンド記号 ("&") で一緒にして (すなわち結合して)、グループ URL を表す
接頭辞の "group:" を付ければ良いのです。例を挙げると、GNU プロジェクト
のホームページ `http://www.gnu.org/' と Savannah ホームページ
`http://savannah.nongnu.org/' を見たいものとすれば、グループ URL は次
のようなものになるでしょう。

`group:http://www.gnu.org/&http://savannah.nongnu.org/'

この構文を日常的に使うのはかなり辛いものがありますが、非常に短い URL
(例えばクイックサーチ URL、see Quick Searching を参照) や非対話型
で使う状況では、この機能はおおいに役立つでしょう。

明日の天気は晴れでしょう
========================

アンテナを張り巡らそう
======================

アンテナはウェブページの変化を追跡するための道具です。アンテナを使うと、
特定のページが、以前に見たときから更新されたかされなかったかを、周期的
にチェックすることができます。

いずれかの emacs-w3m バッファで `A' を使うことによって、アンテナを始め
ることができます。あるいは、特別の URL `about://antenna/' に行くことに
よっても同じことができます。

ウェブサイトをアンテナに加えるには?
-----------------------------------

(Under construction)

好みのサイトの情報を `w3m-antenna-sites' に追加してください。

アンテナで変化を追跡する
------------------------

アンテナ・ページには二つの項目が現れます。一つは "Updated" と呼ばれ、
もう一つは "Visited" と呼ばれます。"Updated" の項目では最後にアンテナ
を更新した後で変化したウェブサイトが、そして "Visited" の項目では変化
しなかったウェブサイトが見つかります。それぞれの項目で、各行はアンテナ・
データベースの一つのウェブサイトを表し、以下の構造になっています:

` * 2002/12/15 16:43 (T) My website'

最初の部分は、アンテナが最後にそのページの変化を報告した、そのウェブサ
イトが更新された最終時刻です。またはその情報が得られないこともあります。

`(T)' は "Time" を表し、最後にアンテナを更新した後で、そのページの変更
時刻が変化したので、変化が検出されたことを意味します。もう一つの可能性
がある値は `S' ("Size" のこと) で、そのページのサイズが変化したので、
変化が検出されたことを意味します。

行の最後の部分は、データベースに追加したときに与えた、このウェブサイト
のタイトルです。

どうか、アンテナ・データベースは自動的に更新されないことに注意して下さ
い。アンテナ・ページで `R' を叩くか、または接頭引数をコマンドに渡す
(例えば `C-u A' でアンテナを始める) ことによって、サイトが変化したかど
うかをチェックしたい毎に、それを更新しなければなりません。

`A'
     アンテナのページに行きます。接頭引数付きで呼ばれた場合は、表示す
     る前にアンテナ・データベースを更新します (`w3m-antenna')。

ディレクトリの木構造を表示する
==============================

`w3m-dtree' コマンドを使うと、ローカルディレクトリのすべてのサブディレ
クトリの木構造を表示して、普通のウェブページのように閲覧することができ
ます。この機能を使ったときに現れる emacs-w3m のバッファは、その名前ゆ
えに外部の "tree" プログラムの出力に非常に類似したものになります。さら
にemacs-w3m からのボーナス: このコマンドを接頭引数付きで呼ぶとファイル
も表示し、emacs-w3m は完全装備のファイル閲覧器に変身します。

Emacs-w3m dtree がどんなふうに動作するかの例です:

     /home/romain/.elisp/emacs-w3m/
      |-CVS/
      |-attic/
      |  +-CVS/
      |-autom4te.cache/
      |-doc/
      |  |-CVS/
      |  +-emacs-w3m/
      |-icons/
      |  +-CVS/
      |-patches/
      |  +-CVS/
      +-shimbun/
         +-CVS/

接頭引数を付けると、代わりにこんなふうになります:

     /home/romain/.elisp/emacs-w3m/ (allfiles)
      |-(f).cvsignore
      |-(f)BUGS.ja
      |-(f)COPYING
      |-[d]CVS/
      |  |-(f)Entries
      |  |-(f)Repository
      |  +-(f)Root
      |-(f)ChangeLog
      |-(f)ChangeLog.1
      |-(f)Makefile
      |-(f)Makefile.in
      |-(f)README
      |-(f)README.ja

`D'
     ミニバッファでローカルディレクトリの入力を求め、その木構造を表示
     します。接頭引数付きで呼ばれると (例: `C-u D')、そのディレクトリ
     にあるファイルも表示します (`w3m-dtree')。