(2013-03-09 転記 - 2020-08-13 転記・追記)
w3mは、テキストブラウザとしては、テーブル、フレームの表示が優れており、かなり以前から使っているお気に入りのソフトです。
以前は、主にブラウザとしてのみ利用しておりましたが、最近はブラウザというよりも、ページャやファイルビューア、さらにアプリケーションのランチャとして利用することも多くなって来ました。
w3mの魅力は豊富で、まだまだ活用しきれていない筆者ですが、w3mを利用する上でのTipsや便利な活用法をこのページに記載します。
なお、以下のことは、Ubuntu 12.10 の環境で確認しております。
まず最初に、参考にさせて頂いたサイトを以下にお示しします。
w3mのインストールは以下のとおりです。
sudo apt-get install w3m
なお、w3mでも画像を表示させたい場合は、以下のとおり w3m-img をインストールしてください。
sudo apt-get install w3m-img
(2020-08-13 追記) 筆者の愛用するLXDE terminalでは、画像表示できませんが、UXterm等では画像が表示できます。
慣れてくると、w3mのキー操作は難しくありませんが、慣れるまでは、「H」(大文字のH)キーでヘルプがでますので、わからないキーは調べてください。
いろいろなサイトをw3mで閲覧していると、残念ながら、文字化けしてしまうサイトがあります。
そんな時には、「=」キーを押して、そのサイトの情報を表示し、「Document Charset」の所の文字コードを変更し、「Change」を押してください。
変更した文字コードが適切ならば、ちゃんと表示されるようになります。
それでも見えない、読めない…
文字コードを変更しても、画像がたくさんあるサイトや、java スクリプトを用いたサイトで見にくいこともあります。
そんな時には、「M」(大文字のM)キーを押して、chrome等のブラウザを起動してください。
なお、w3mのデフォルトでは、「o」(オプション)の「外部ブラウザ」の設定が、「/usr/bin/mozilla」です、「/usr/bin/google-chrome &」と最後に「&」を付けることにより、ブラウザ起動後、すぐにw3mに戻って操作することができるようになります。
w3mの起動方法には、いくつかありますが、筆者の気にいっているのは、以下の3つのうち、一番上の上の方法です。
$ w3m bookmark.txt カレントディレクトリのbookmark.txtを開く
$ w3m . カレントディレクトリのファイルを一覧
$ w3m -B w3mのブックマークを開く
1番目の方法のテキストファイルの名前は、なんでも構いませんが、ここでは、例としてbookmark.txtとして説明します。
試しに、以下の内容のbookmark.txtをホームディレクトリに作成してください。
===== files
.
/usr/share/doc/w3m/ja/
file:///home/hoge/.vimrc
file:///home/hoge/ .emacs
file:///.w3m/bookmark.htnl ← w3mのブックマーク
file:///.mozilla/firefox/xxxxx.default/bookmarks.html ← firefoxのブックマーク
===== url
http://www.google.co.jp/
http://www.yahoo.co.jp/
単純なテキストファイルですから、好きなファイルを記入してください。
その際に、どんなにディレクトリ階層が深いところのファイルでも、/からの絶対アドレスを記載してください。
bookmark.txtの準備ができたら、w3mを起動します。
$ w3m bookmark.txt
なんの変哲もない通常のテキストファイルとして、bookmark.txtが開かれたと思います。
w3mには、魔法のように便利なキーがあります。
「:」は、urlをリンクにするキーです。
上記の例では、googleとyahooにジャンプできるようになります。
開いたファイルが、テキストファイル、htmlファイルである場合は、エディタを起動して、編集することができます。
「E」でエディタが起動し、編集セーブ後、再びw3mに戻ってくることができます
bookmark.txtにファイル等を追加したい場合は、便利です。
毎回、「w3m bookmark.txt」と入力するのは、面倒なことです。
そこで、以下のようなshellスクリプトを準備すると起動が簡単になります。
#! /bin/sh
# w3 for w3m written by H.Yamada 2000/03/20
if [ "$*" != "" ]; then
w3m $*
else
w3m bookmark.txt
fi
筆者は、このスクリプトを「w3」とし、以下のようにして利用しています。
$ cp w3 ~/bin
$ chmod +x bin/w3
通常の利用では、「w3」と入力し、hoge.txtを開きたい時には、「w3 hoge.txt」とします。
(2013-03-09追記)
以前利用していた時には、「;(セミコロン)」で、パスを含めたファイル名全体がリンクとなり、便利だったのですが、今回試したところ、うまく動作しないようです。^^;
w3mで閲覧中に、用語や単語の意味を調べたくなることは、多々あります。
筆者は、googleの検索を良く行うので、起動時からgoogleを新しいタブとして開いておけば、いろいろと便利です。
w3mには、タブ機能がありますので、起動時から新しいタブでgoogleを開くようにします。
$ w3m -N boobkmark.txt www.google.co.jp
コマンドとしては、上記で良いのですが、入力が面倒なので、上記スクリプトをちょっと変更します。
#! /bin/sh
# w3 for w3m written by H.Yamada 2000/03/20
if [ "$*" != "" ]; then
w3m $*
else
w3m -N bookmark.txt www.google.co.jp
fi
これで、最初のタブに、bookmark.txt、次のタブにgoogleが呼び出され、最初に書いたboobkmark.txtが表示されます。
基本的なキー操作としては、「}」で次のタブ、「{」で前のタブに移動できます。
w3mの設定で、「マウスを使う」設定にしてある場合は、シフトを押しながら、マウスをドラックすることで、文字を選択することが可能です。
実際にウェブを閲覧中にgoogle検索する場合のキー操作を以下に示します。
webを閲覧中に、調べたい単語をshiftを押しながら、ドラックする
googleのタブをマウスでクリックして、開く
googleのキーワード入力でEnterを押し、マウスの中ボタンで検索したい言葉をペーストし、Enter
tabキーを押して、検索開始
ちょっと、面倒ですが、少しは便利になるかと… ^^;
もう少し便利な方法は、下の節で説明します。
w3mには、ローカルCGIという機能があり、w3mの機能を拡張することができます。
本来のローカルCGIは、ウェブサイトで設定するCGIのテストに用いるための用ですが、筆者の簡単な活用法を以下に示します。
サイトを閲覧していると、googleで関連の情報を検索したくなることは、良くあるかと思います。
w3mのドキュメントの中には、便利なCGIのサンプルに関する記述があります。
この中で、googleの検索を簡単にする方法を示します。
ファイル名はなんでも、良いのですが、例として google.cgi というファイルを作成します。
#!/bin/sh
google_q='http://google.com/search?btnG=Google&q'
cat <<_END_
Content-type: text/plain
W3m-control: GOTO $google_q=$QUERY_STRING
W3m-control: DELETE_PREVBUF
_END_
上記ファイルを作成したら、~/cgi-binというディレクトリを作成します。
作成したcgi-binに、ファイルを移動し、実行権を与えます。
$ mkdir ~/cgi-bin
$ mv google.cgi ~cgi-bin
$ chmod +x ~/cgi-bin/google.cgi
次に、w3m を起動して、「o」でオプションメニューを開きます。
まず、「~/cgi-binで表されるディレクトリ」に、「/home/username/cgi-bin」と入力します。
続いて、辞書よりもgoogleを便利に検索したい場合は、辞書引きコマンドのURLに「file:/cgi-bin/google.cgi」と記入します。
ちなみに、元に戻したい場合は、辞書引きコマンドは、「file:///$LIB/w3mdict.cgi」です(筆者の備忘録)。
それでは、実際にカーソルの単語をgoogle検索します。
「T」シフトを押して、新しいタブを開く
検索したい語までカーソルを移動し、「M-W」を押す。
google検索結果が表示される。
新しいタブを開いてから、google検索することにより、元から閲覧していたサイトも消えずに残っていますから、少し便利です。
筆者のひとりごと:
W3m-control を利用して、いきなりタブを開いて、google検索したかったのですが検索前のバッファが残ってしまい、うまく動作させられませんでした。
どなたか、スマートな方法を教えてください。
ローカルCGiのさらに高度な使い方については、以下のサイトを参照してください。
ローカルCGIは、大変便利なのですが、たくさんの言語が覚えられないへたれな筆者にはやや使いにくい印象を持ちました。
そこで、w3mからshellやrubyスクリプトを利用する方法を記載します。
w3mから、外部のコマンドを呼び出す方法は、「!」キーです。
w3mを起動して、以下のような外部コマンドを起動し、表示させてみてください。
! ls -l
! pwd
上記コマンドは、あまり役に立ちませんが、以下のコマンドを実行してください。
! printenv | grep W3M
上記環境変数の中で、W3M_URLはちょっと使えそうです。
それでは、続いて、以下のコマンドを入力してください。
! printenv | grep W3M_URL | vi -
最後の、「vi -」の「-」も忘れずに入力してください。
閲覧していたサイトのURLが1行目に入力されて、viエディタが起動したと思います。
W3M_URL=http://www.google.co.jp
この機能を使えば、閲覧中にサイトのURLや用語のメモをとるのに便利に使えそうです。
それでは、~/.w3m/keymap というファイルを作成し、以下のコマンドを記入してみてください。
keymap A EXEC_SHELL "printenv |grep W3M_URL | vi -"
w3mでは、EXEC_SHELL コマンドに内容を書くことにより、w3mの中からコマンドを起動することができるようです。
上記の記述の場合は、「A」という文字を入力します。
実際の活用では、以下のような手順になります。
メモをとりたい部分を選択して、コピー
「A」キーを押して、vi エディタを起動し、ペースト
後で、メモを見る時にも、w3mでみれば、URLの部分で「:」キーを押せば、リンクになって、簡単にURLへジャンプできます。
いろいろな機能を割り当てるためには、空いているキーの情報が必要です。
以下は、筆者がいい加減に調べた機能の割り当てられていないキーです。
w3mに割り当てが無くても、他のターミナルやgnome等の環境で、利用されていることもありますので、実際に確認しながら設定してください。
A,C,O,X,Y
M-d,M-f,M-g,M-h,M-i,M-j,M-q,M-r,M-x,M-y,M-z
M-A,M-B,M-D,M-E,M-F,M-g,M-H,M-J,M-L,M-O,M-P,M-Q,
M-R,M-S,M-T,M-U,M-V,M-X,M-Y,M-Z
M-;,M-.,M-,,M-/,M-@,M-^,M-\
w3mで、Twitterを見ることはできますが、投稿はできないようです。
しかし、モバイル版のTwitterにログインすれば、投稿も可能です。
モバイル版のTwitterは、以下のURIでアクセスできます。
実のところ、このページをアップしたのは、w3m.vim という vim スクリプトを見つけたからです。
ちょっと使ってみた範囲では、とても高速で快適です。
w3m.vimのインストールや使い方等については、近々アップしますので、またよろしくお願いします。