w3m マニュアル

伊藤 彰則
aito@ei5sun.yz.yamagata-u.ac.jp

もくじ

  • はじめに
  • 起動オプション
  • 文書の表示内容
  • 起動後の使いかた(オリジナル)
  • 起動後の使いかた(Lynx風)
  • マウス操作
  • キーの定義
  • Local CGI

  • はじめに

    w3m は,テキストベースのページャ/WWWブラウザです.これを使うと,kterm などのキャラクタ 端末上で,ローカルファイルを見たり,WWWの内容を見たりすることができます.

    起動オプション

    起動時の引数は次の通りです.

        w3m [options] [file|URL]
    

    引数にファイル名を指定すればそのファイルを表示し,URLを指定すればその内容を表示します. 何も指定しなければ,標準入力の内容を表示します.ただし,標準入力が tty である場合には, 何もせずに終了します.

    オプションは次の通りです.

    +番号
    起動後,指定の行番号に移動する.
    -t 幅
    タブの幅を指定する.デフォルトは 8 .
    -r
    text/plain の文書を表示する場合,重ね打ちによる強調文字を表示しない. このオプションを付けない場合,``A^H_''はAのアンダーラインとして表示され, ``A^HA''はAのボールドとして表示される.
    -S
    text/plain の文書を表示する場合,複数の空行を1つにまとめて表示する.
    -l 行数
    標準入力の内容を表示するときに保存される最大行数を指定す る.デフォルトは 10000.
    -s
    Shift_JIS コードで表示する.
    -e
    EUC コードで表示する.
    -j
    JIS(ISO-2022-JP) コードで表示する.
    -T タイプ
    表示する文書のタイプを指定する.この指定がない場合,ファイル 名の拡張子によって自動判別される.判別できない場合は text/plain とみなされる.

    例:
    標準入力から HTML ファイルを読んで表示する

       cat hoge.html | w3m -T text/html
    

    HTMLファイルのソースを表示する

       w3m -T text/plain hoge.html
    
    -m
    Internet message モードで表示する.Internet messageモードの場合, ヘッダの内容を見て,Content-Type: があればそれを参考にする.電子メールや ネットニュースの記事を読むときに便利.
    -B
    Bookmark を表示する.
    -bookmark file
    Bookmarkのファイルを指定する.
    -M
    カラー表示をしない.
    -F
    フレームを自動表示する.
    -S
    連続する空行を1行にまとめて表示する.
    -X
    w3m終了時に,以前の画面に戻らない.
    -W
    折り返しサーチを使うかどうかを切りかえる.
    -o option=value
    オプションを指定する.
    -no-proxy
    プロキシを利用しない.
    -no-mouse
    マウスを利用しない.
    -cookie
    クッキーを処理する.
    -no-cookie
    クッキーを処理しない.
    -num
    行番号を表示する.
    -dump
    URLの内容を読みこみ,整形されたバッファの内容を標準出力に書き出す. 文書の幅は80桁と仮定される.この幅は,次の -cols オプションで変更可能.
    -cols 幅
    -dump オプションを使う場合に,文書の幅を指定する.
    -ppc ピクセル数
    文字の幅を指定する.デフォルトは 8.0.
    -dump_source
    URLの内容を読みこみ,整形せずに標準出力に書き出す. 漢字コード変換もされない.
    -dump_head
    URLにアクセスし,ヘッダ情報を出力する.

    文書の表示内容

    HTML文書を表示しているときには,次のような表示になります.
    カラー表示時白黒表示時
    リンク青色下線
    インライン画像緑色反転表示
    FORMの入力部分赤色反転表示
    カラー表示時の色は,オプション設定パネル "o" で変更することができます.

    起動後の使いかた(オリジナル)

    起動した後は,1文字のコマンドをキーボードから入力することでw3mを操作します. コマンドには次のようなものがあります.以下の記述では,C-x はコントロールx を表します.また,SPC はスペースバー,RET はリターンキー,ESC はエスケープキーです.

    ここで書いてあるのは,オリジナル版のキー操作です.Lynx風のキー操作用に コンパイルしてあるものについては,起動後の使い方(Lynx風) をごらんください.

    ページ/カーソル移動

    SPC,C-v次のページを表示します.
    b,ESC v前のページを表示します.
    l,C-f,右矢印キーカーソルを右に移動します.
    h,C-b,左矢印キーカーソルを左に移動します.
    j,C-n,下矢印キーカーソルを下に移動します.
    k,C-p,上矢印キーカーソルを上に移動します.
    J画面を1行上にスクロールします.
    K画面を1行下にスクロールします.
    w次の単語に移動します.
    W前の単語に移動します.
    >画面全体を右にずらします.(表示内容を左にずらす)
    <画面全体を左にずらします.(表示内容を右にずらす)
    .画面全体を1文字右にずらします.(表示内容を左にずらす)
    ,画面全体を1文字左にずらします.(表示内容を右にずらす)
    g文書のいちばん上の行に移動します.
    G文書のいちばん下の行に移動します.
    ESC g画面下で行番号を入力し,そこで指定した行に移動します. ここで $ を入力すると,最終行に移動します.
    TAB次のリンクに移動します.
    C-u, ESC TAB前のリンクに移動します.
    [最初のリンクに移動します.
    ]最後のリンクに移動します.

    ハイパーリンク操作

    RET現在カーソルがあるリンクが指す先の文書を読みこみます.
    a, ESC RET現在カーソルがあるリンクが指す先の文書をファイルに保存します.
    u現在カーソルがあるリンクが指す先のURLを表示します.
    I現在カーソルがあるリンクに対応する画像を表示します.
    ESC I現在カーソルがあるリンクが指す 画像をファイルに保存します.
    :URL風の文字列をリンクにします.この機能は,HTMLでない文書を 読んでいるときにも有効です.
    ESC :Message-ID風の文字列を,news: のリンクにします.この機能は,HTMLでない文書を 読んでいるときにも有効です.
    c現在の文書のURLを表示します.
    =現在の文書に関する情報を表示します.
    F<FRAMESET>を含む文書を表示しているときに,<FRAME> タグの指す複数の文書を1つの文書に変換して表示します.
    M現在見ているページを,外部ブラウザを使って表示します. 2M, 3M で2番目と3番目のブラウザを使います.
    ESC M現在のリンク先を,外部ブラウザを使って表示します. 2ESC M, 3ESC M で2番目と3番目のブラウザを使います.

    ファイルとURL関係の操作

    UURLを指定して開きます.
    Vローカルファイルを指定して開きます.
    @コマンドを実行し,結果を全部読んでから表示します.
    #コマンドを実行し,結果を読みこみながら表示します.

    バッファ操作

    B現在見ているバッファを削除し,一つ前のバッファを表示します.
    vHTMLのソースを表示します.
    sバッファ選択モードに入ります.
    E現在見ているバッファがローカルファイルの場合,そのファイルをエディタ で編集します.エディタを終了した後,そのファイルを再度読み込みます.
    Rバッファを再度読み込みます.
    Sバッファの表示内容をファイルに保存します.
    ESC sHTMLのソースをファイルに保存します.v でソースを表示して S で 保存するのとほぼ同じですが,ESC s で保存したファイルは漢字コードがオリジナルの ままであるのに対して,v S で保存すると現在表示に使っている漢字コードに変換され て保存されます.
    ESC e現在表示されているバッファを,表示されている形式のまま エディタで編集します.

    バッファ選択モード

    "s" でバッファ選択モードに入ったときのキー操作です.
    k,C-p一つ上のバッファを選択します.
    j,C-n一つ下のバッファを選択します.
    D現在選択しているバッファを削除します.
    RET現在選択しているバッファを表示します.

    ブックマーク操作

    ESC bブックマークを読み込みます.
    ESC a現在見ているページをブックマークに追加します.

    検索

    /,C-s現在のカーソル位置からファイル末尾に向かって正規表現を検索します.
    ?,C-r現在のカーソル位置からファイルの先頭に向かって正規表現を検索します.
    n次を検索します.
    N前を検索します.

    マーク操作

    C-SPCマークを設定/解除します.マークは反転表示されます.
    ESC p一つ前のマークに移動します.
    ESC n一つ後のマークに移動します.
    "正規表現で指定された文字列を全てマークします.

    その他

    !シェルコマンドを実行します.
    Hヘルプファイルを表示します.
    oオプション設定パネルを表示します.
    C-kクッキー一覧を表示します.
    C-c文書の読み込みを中断します.
    C-zサスペンド
    qw3mを終了します.オプションの設定によって,終了するかどうか確認します.
    Q確認せずにw3mを終了します.

    行編集

    画面の最下行で文字列を入力する場合に有効なキー操作です.
    C-fカーソルを右に移動します.
    C-bカーソルを左に移動します.
    C-hカーソルの直前の文字を削除します.
    C-dカーソル位置の文字を削除します.
    C-kカーソル位置から後を削除します.
    C-uカーソル位置から前を削除します.
    C-a文字列の先頭に移動します.
    C-e文字列の最後に移動します.
    C-pヒストリから一つ前の文字列を取り出します.
    C-nヒストリから次の文字列を取り出します.
    TAB,SPCファイル名入力時に,ファイル名を補完します.
    RETURN入力を終了します.

    起動後の使いかた(Lynx風)

    Lynx風キーバインドでコンパイルした場合の使いかたです.

    ページ/カーソル移動

    SPC,C-v次のページを表示します.
    b,ESC v前のページを表示します.
    lカーソルを右に移動します.
    hカーソルを左に移動します.
    jカーソルを下に移動します.
    kカーソルを上に移動します.
    J画面を1行上にスクロールします.
    K画面を1行下にスクロールします.
    >画面全体を右にずらします.(表示内容を左にずらす)
    <画面全体を左にずらします.(表示内容を右にずらす)
    C-a文書のいちばん上の行に移動します.
    C-e文書のいちばん下の行に移動します.
    G画面下で行番号を入力し,そこで指定した行に移動します. ここで $ を入力すると,最終行に移動します.
    TAB, C-n, 下矢印次のリンクに移動します.
    ESC TAB, C-p, 上矢印前のリンクに移動します.

    ハイパーリンク操作

    RET, C-f, 右矢印現在カーソルがあるリンクが指す先の文書を読みこみます.
    d, ESC RET現在カーソルがあるリンクが指す先の文書をファイルに保存します.
    u現在カーソルがあるリンクが指す先のURLを表示します.
    i現在カーソルがあるリンクを含む画像そのもののURLを表示します.
    I現在カーソルがあるリンクに対応する画像を表示します.
    ESC I現在カーソルがあるリンクが指す画像をファイルに保存します.
    :URL風の文字列をリンクにします.この機能は,HTMLでない文書を 読んでいるときにも有効です.
    ESC :Message-ID風の文字列を,news: のリンクにします.この機能は,HTMLでない文書を読んでいるときにも有効です.
    c現在の文書のURLを表示します.
    =現在の文書に関する情報を表示します.
    F<FRAMESET>を含む文書を表示しているときに,<FRAME> タグの指す複数の文書を1つの文書に変換して表示します.
    M現在見ているページを,外部ブラウザを使って表示します. 2M, 3M で2番目と3番目のブラウザを使います.
    ESC M現在のリンク先を,外部ブラウザを使って表示します. 2ESC M, 3ESC M で2番目と3番目のブラウザを使います.

    ファイルとURL関係の操作

    g, UURLを指定して開きます.
    Vローカルファイルを指定して開きます.
    @コマンドを実行し,結果を全部読んでから表示します.
    #コマンドを実行し,結果を読みこみながら表示します.

    バッファ操作

    B, C-b, 左矢印現在見ているバッファを削除し,一つ前のバッファを表示します.
    \HTMLのソースを表示します.
    s, C-hバッファ選択モードに入ります.
    E現在見ているバッファがローカルファイルの場合,そのファイルをエディタで編集します.エディタを終了した後,そのファイルを再度読み込みます.
    R, C-rバッファを再度読み込みます.
    S, pバッファの表示内容をファイルに保存します.
    ESC sHTMLのソースをファイルに保存します.v でソースを表示して S で 保存するのとほぼ同じですが,ESC s で保存したファイルは漢字コードがオリジナルの ままであるのに対して,v S で保存すると現在表示に使っている漢字コードに変換され て保存されます.
    ESC e現在表示されているバッファを,表示されている形式のまま エディタで編集します.

    バッファ選択モード

    "s" でバッファ選択モードに入ったときのキー操作です.
    k,C-p一つ上のバッファを選択します.
    j,C-n一つ下のバッファを選択します.
    D現在選択しているバッファを削除します.
    RET現在選択しているバッファを表示します.

    ブックマーク操作

    v, ESC bブックマークを読み込みます.
    a, ESC a現在見ているページをブックマークに追加します.

    検索

    /現在のカーソル位置からファイル末尾に向かって正規表現を検索します.
    ?現在のカーソル位置からファイルの先頭に向かって正規表現を検索します.
    n次を検索します.

    マーク操作

    C-SPCマークを設定/解除します.マークは反転表示されます.
    ESC p一つ前のマークに移動します.
    ESC n一つ後のマークに移動します.
    "正規表現で指定された文字列を全てマークします.

    その他

    !シェルコマンドを実行します.
    H, ?ヘルプファイルを表示します.
    oオプション設定パネルを表示します.
    C-kクッキー一覧を表示します.
    C-c文書の読み込みを中断します.
    C-zサスペンド
    qw3mを終了します.オプションの設定によって,終了するかどうか確認します.
    Q確認せずにw3mを終了します.

    行編集

    画面の最下行で文字列を入力する場合に有効なキー操作です.
    C-fカーソルを右に移動します.
    C-bカーソルを左に移動します.
    C-hカーソルの直前の文字を削除します.
    C-dカーソル位置の文字を削除します.
    C-kカーソル位置から後を削除します.
    C-uカーソル位置から前を削除します.
    C-a文字列の先頭に移動します.
    C-e文字列の最後に移動します.
    SPCファイル名入力時に,ファイル名を補完します.
    RETURN入力を終了します.

    マウス操作

    マウス機能をONにしてコンパイルしてあれば,マウスを使って w3mを操作することができます.マウスが使えるのは,xterm/kterm/rxvt を使っている場合(この場合には,環境変数TERMを xterm か kterm に 設定する必要があります),または GPM が動いている環境を使っている場合 です.

    左クリック カーソルをマウスカーソルの位置に移動します. もしカーソルとマウスカーソルの位置が同じで,カーソルが リンクの上にあったときは,そのリンクをたどります.
    中クリック 前のバッファに戻ります.
    右クリック メニューを開きます.メニューの項目もマウスで選ぶことができます.
    左ドラッグ ページをスクロールします.デフォルトの動作では, マウスのドラッグに合わせて文書の方をスクロールします. オプション設定パネルの設定で,この動作を逆にすること ができます(マウスのドラッグに合わせて,ウィンドウの方を スクロールする).


    キーの定義

    ~/.w3m/keymap を記述すると,キーの割りあてを変えることができます (行編集のキー定義を除く).例えば,
    
       keymap C-o NEXT_PAGE
    
    
    と記述すると,NEXT_PAGE機能(通常スペースと C-v)に割りあてられて いるもの)を C-o に割りあてることができます. 利用可能な機能と,その名前については, README.funcを参照してください. 例として,オリジナルとLynx風のキー定義ファイル (keymap.defaultkeymap.lynx)が置いてあります.

    Local CGI

    w3mを使えば,HTTPサーバなしでCGIスクリプトを起動することができます. このとき,w3mがサーバのふりをしてスクリプトを起動し,その出力を 読みこんで表示するわけです. ブックマークの登録外部ビューアの編集 は,local CGIのスクリプトとして実現されています. local CGIを使えば,w3mを汎用のフォーム入力インタフェースとして 使うことができます.

    セキュリティ上の理由により,起動するCGIスクリプトは,次のどれかの ディレクトリにある必要があります.

    Local CGIとして使われるスクリプトでは,w3mをコントロールするために, 特殊なヘッダ `w3m-control:' を使うことができます.このヘッダには, w3mの任意の機能 (README.func参照)を書く ことができます.文書が表示された後,その機能が呼び出されます. 例えば,

    
    Content-Type: text/plain
    W3m-control: BACK
    
    
    というヘッダを出力した場合,w3mは空のページを表示し,その直後に そのバッファを削除します.これは,CGIを実行した後で,何もページを 表示したくない場合に有効です.また,
    
    Content-Type: text/plain
    W3m-control: DELETE_PREVBUF
    
    contents.....
    
    は,新しいバッファで直前のバッファを置きかえます.

    一つの w3m-control: ヘッダには,一つの機能だけを指定することができます. ただし,HTTPレスポンスの中に複数の w3m-control: を入れることができ, そこで指定された機能は順番に実行されます. さらに,GOTO には引数を指定することができます.

    
    Content-Type: text/plain
    W3m-control: GOTO http://www.yahoo.com/
    
    
    この例は,Location: を使った次の例と同じように動作します.
    
    Content-Type: text/plain
    Location: http://www.yahoo.com/
    
    
    ただし,w3m-control: ヘッダはw3mがスクリプトを直接呼びだした時だけに 有効です.同じスクリプトを HTTPサーバ経由で呼びだした場合, w3m-control: ヘッダは無視されます.