13
4

More than 3 years have passed since last update.

VimでWorld Wide Web

Posted at

こんにちわ
ゴリラです

普段Vimを使ってコーディングしていると、「あれ、あの関数名なんだっけ?」とか「引数何を受け取るんだっけ?」とかで思い出せないことが多々あると思います。
そういう時、大抵の人はブラウザを使うと思いますが、アプリを切り替えないといけないので効率が悪いなとずっと思っていました。

そこで、この度w3mを導入してみました。ちょっとQOL(Quality Of Life)上がった感があるので紹介してきます。

w3mとは

簡単に言うとテキストベースブラウザです。一応sixel対応できるので画像表示もできます。(ただレイアウト崩れるので実用的ではなかった)
テキストベースゆえ、とても軽快でcookieopensslも使えるのでTwitterなどのサービスにログインもできます。

image.png

がっつり色々と調査するなら普通にブラウザを使ったほうが良いですが、
冒頭で言ったような用途であればw3mで充分です。

Vimでw3mを使う

Vimではterminal機能があるので、それを使えばVim上でw3mを使用できます。例えば次のコマンドでgoogle.comを開けます。

:term ++close w3m google.com

ただ、これだけだとちょっと不便です。大体は何かしら検索することが多いので、もう少し便利にするためWWWコマンドを用意します。

function! s:www(word) abort
  execute('term ++close ++shell w3m google.com/search\?q="' . a:word . '"')
endfunction

command! -nargs=1 WWW call s:www(<f-args>)

上記の設定をvimrcに追加すれば:WWW ゴリラ vimって実行するとGoogleの検索結果画面が表示されます。
とても良き。

検索以外に、ぼくは普段Goを書いたりするのでpkg.go.devを簡単に開く関数も用意しました。

function! s:gg(package) abort
  execute('term ++close ++shell w3m pkg.go.dev/' . a:package)
endfunction

command! -nargs=1 GG call s:gg(<f-args>)

上記設定をすると:GG path/filepath次のようにpkg.go.dev/path/filepathが開きます。

image.png

Vimでw3mのメリット

ズバリ、翻訳できることです。ゴリラ製翻訳プラグインを使って、godocの英語ドキュメントを翻訳しながら読めます。
英語苦手なので、こうやって翻訳しながらじゃないと読めないです(ツライ)

image.png

w3mのキーマップ設定

デフォルトのキーマップでしっくり来ないところがあったので、~/.w3m/keymapに次の設定をしてなるべく使用感をVimに近づけています。

keymap C-u PREV_PAGE
keymap C-d NEXT_PAGE
keymap C-h BACK
keymap C-l NEXT
keymap ] NEXT_TAB
keymap [ PREV_TAB
keymap C-w CLOSE_TAB
keymap b PREV_WORD
keymap H HISTORY
keymap ? HELP
keymap C-n NEXT_LINK
keymap C-p PREV_LINK
keymap C-q EXIT
keymap C-k GOTO

さいごに

導入したばっかりなので、しばらく使ってみています。
みなさんもぜひ使ってみてください。

13
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
4