w3mというテキストベースブラウザでターミナル上でブラウジング

はじめに

w3mとはページャ兼テキストベースのブラウザです。w3mを使うとアプリを切り替えることなく、ターミナル上で検索が可能になります。
下図はw3mで「hoge moge」を検索している様子です。

今回はw3mを便利に使う設定方法をまとめてみました。

w3mインストール

Homebrewでインストール可能です。

$ brew install w3m

関数作成

まず初期状態のコマンドだと使い難いので~/.zshrcに下記の関数を追記して下さい。
※このスクリプトに関しましてはこちらの記事を参照させて頂きました

function google() {
    local str opt
    if [ $# != 0 ]; then
        for i in $*; do
            str="$str+$i"
        done
        str=`echo $str | sed 's/^\+//'`
        opt='search?num=50&hl=ja&lr=lang_ja'
        opt="${opt}&q=${str}"
    fi
    w3m http://www.google.co.jp/$opt
}

これで冒頭のデモ画像の様にgoogle hoge mogeといった具合に検索出来るようになります。

キーマップ設定

次にデフォルト設定のキーマップのままだと少々使いづらいので独自にカスタマイズしましょう。現時点の設定を確認したい場合は「Shift + h」を入力すると確認出来ます。

~/.w3m/keymapファイルに下記を記述して下さい。
可能な限りVimやVimiumに準ずるような設定となっております。

keymap C-f NEXT_PAGE
keymap C-b PREV_PAGE
keymap H PREV
keymap L NEXT
keymap C-T NEW_TAB
keymap J PREV_TAB
keymap K NEXT_TAB
keymap C-w CLOSE_TAB
keymap C-r RELOAD
keymap C-d ADD_BOOKMARK
keymap C-h BOOKMARK
keymap ESC-h HELP

どんなコマンドが設定可能なのか更に細かく知りたい方はこちらをご覧下さい。

続けて検索するには

分かりにくいのですが続けて検索を行う場合は、「Shift + u」を入力してURLを編集して下さい。「q=」以降を変更します。

これを
http://www.google.co.jp/search?num=50&hl=ja&lr=lang_ja&q=hoge+moge

こんな感じにする
http://www.google.co.jp/search?num=50&hl=ja&lr=lang_ja&q=fuga

追加したお気に入りを削除する

お気に入りを削除するコマンドが存在していなかったみたいなので、追加したお気に入りを削除したい場合は自動生成されている~/.w3m/bookmark.htmlというファイルの該当する行を削除して下さい。

下記のコードでいうと7~8行目を削除すると追加したお気に入りは全て削除されます。

<html><head><title>Bookmarks</title></head>
<body>
<h1>Bookmarks</h1>
<h2>Miscellaneous</h2>
<ul>
<li><a href="http://johnen.shinshu-u.ac.jp/~matsu/lectures/cl/w3m-key-bindings.html">w3m の使い方 (よく使うキー操作)</a>
<li><a href="https://amachamusic.chagasi.com/">フリー無料のBGM素材・音楽素材「甘茶の音楽工房」</a>
<li><a href="https://amachamusic.chagasi.com/music_suitekinoodori.html">水滴の踊り|フリー無料のBGM素材・音楽素材「甘茶の音楽工房」</a>
<!--End of section (do not delete this comment)-->
</ul>
</body>
</html>

以上です。

終わりに

w3mの主な用途としては、コーディング中にるりまなどでちょっとしたことを検索したいけど、ブラウザに切り替えるのが面倒だなという時に使うくらいです。

しっかり調べたい時は普通にChrome使った方が便利だと思います笑

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA