テキストブラウザw3mを使ってみた

概要

テキストブラウザw3mを使ってみました。そのメモ書きです。

背景

最近、家にあるものすごく低スペックの2010年式のMacBook Airをいじる必要が出てきました。10年以上前に買った自分の初めてのMacBookですが、スペックは以下の通り

macOS High Sierra
MacBook Air (11-inch, Late 2010)
プロセッサ 1.4 GHz Intel Core 2 Duo
メモリ 2 GB 1067 MHz DDR3
SSD 128GB

今のブラウザはものすごくサイズが大きくて、たくさんのリソースを使うので、iTerm2とChromeを立ち上がるだけで、CPU使用率が95%を超えてしまうことがしばしばあります。

ちょっとした検索ならば、Terminal 上で動くテキストブラウザを使ってみたくなりました。
これがw3mを導入する背景になります

インストール

至って簡単、brew install w3mですんなり入りました(/usr/local/bin/w3m)。

設定を変えてみる

w3m(1) — Arch manual pages を参考に、動きをカスタマイズしてみました。

keymap

[tokuhirom/w3m](https://github.com/tokuhirom/w3m)を参考に、keymap.defaultをベースに変更してみました。

$ cp keymap.default keymap
$ vim keymap
$ /usr/bin/diff keymap.default keymap
32c32
< keymap   C-v NEXT_PAGE
---
> keymap   C-f NEXT_PAGE
44a45
> keymap   C-b PREV_PAGE

vim風のページ移動に変更してみただけ(カーソルの移動する際はhlkjが使える)。

また、configフィアルも少し変更しました。

/usr/bin/diff config.20211229 config
8c8
< display_link 0
---
> display_link 1
16c16
< multicol 0
---
> multicol 1
31,33c31,33
< color 1
< basic_color terminal
< anchor_color yellow
---
> color 0
> basic_color white
> anchor_color green
71c71
< editor /usr/bin/vi
---
> editor /usr/local/bin/vim
74c74
< extbrowser /usr/bin/firefox
---
> extbrowser /Applications/Firefox.app

w3m起動する際の動きを変更する

最初は~/.profileに以下のようにaliasを設定しました

alias w3m='/usr/local/bin/w3m -I utf-8 -O utf-8 -m -num -s'

次に、urlを開くのと、検索語を検索するのとを自動区別できるように以下の関数を作ってみました。

function w3() {
    var=$1

    if [[ ! ${var} =~ [0-9a-zA-Z?=#+_\&:/.%]+ ]] || [[ ! ${var} =~ \. ]] ; then
        w3m https://search.yahoo.co.jp/search?p="$var"
    else
        echo else
        w3m $var
    fi
}

こうすることで、例えば以下のような使い方ができるようになりました。

  1. URLを指定して開く
    $ w3 www.yahoo.co.jp
  2. キーワードを指定して検索 $ w3 ヤフー

まとめ

w3mはとても軽快で動いてくれます。javascriptが使えない、画像が見れないなど多くの制限はありますが、ちょっとした検索ならば、わざわざブラウザを立ち上がらなくても、terminalにいる状態で検索できるので、低スペックのPCにはいい選択です。

参考資料