パノラマワールドへのいざない - Vimperator Advent Calendar 2012 7日目

Vimperator Advent Calendar 2012 7日目担当の Jagua です.

Advent Calendar への参加は初めてだけど,自分が Vimperator を触ってきた過程で得た経験とか工夫がみなさまのお役に立てれば幸いと思い,また,今まではほとんど享受するばかりだった Vimperator 界隈への還元の意味も込めて今回参加することにしました.よろしくお願いします.


もうすぐクリスマスですね(唐突).ということで今回はクリスマスを一緒に過ごす彼女をゲットするためのできる男3ヶ条を紹介したいと思います.

できる男3ヶ条

  1. できる男は視野が広い
  2. できる男は部屋が綺麗
  3. できる男は仕事が早い

昔から「視野を広く持て!モテる男は視野が広い」なんてことが言われてきましたが,最近では「視野をパノラマに持て!モテる男は視野がパノラマ」などと言われているようですね〜[要出典]

さて,そんな大事な,モテる男に必須とさえ言われているパノラマとは何なのか解説した記事が Firefox ヘルプにあったのでまずご一読ください. → タブグループとは | Firefox ヘルプ

どうやら今はパノラマではなくタブグループと呼ばれてるのか・・・ってことで以下ではできるだけタブグループと呼ぶことにします!(できる男は切り替えが早い

Key mappings

さてこの panorama を Vimperator で扱いやすくするために,私は .vimperatorrc に以下のようなマッピングを記述している.それぞれの機能は RHS を見れば直感的に想像しやすいけど :help panorama が詳しい.

" :panorama のサブコマンドを入力待ち
nnoremap <Leader>pc :<C-u>panorama<Space>
" タブグループを移動
nnoremap <Leader>ps :<C-u>panorama switch<Space>
" タブグループを新規作成
nnoremap <Leader>pa :<C-u>panorama add<Space>
" タブグループリストを表示
nnoremap <Leader>pl :<C-u>panorama list<CR>
" 現在のタブをタブグループに追加
nnoremap <Leader>pp :<C-u>panorama pushtab<Space>
" 現在のタブグループにタブを追加
nnoremap <Leader>pu :<C-u>panorama pulltab<Space>
" タブグループを削除
nnoremap <Leader>pr :<C-u>panorama remove<Space>
" タブグループビューを開く
nnoremap <Leader>po <C-S-e>

※ ただ Firefox のデフォルトの,「次のタブグループへ移動」する C-` と「前のタブグループへ移動」する C-S-` は,Vimperator の Local marks 機能(どういう機能かは :help localmarks を参照)と使用キーが被っているので panorama 用にマッピングすることは避けた.ただタブグループの移動は :panorama switch (上記キーマッピングでは <Leader>ps)で行えるので特に支障はないと思われる.

使ってみる

タブグループを作ってみる

まず作業開始時,「:panorama add タブグループ名」を入力して ENTER で(作業用)タブグループを新しく作成.上記キーバインドでは <Leader>pa で入力待ち状態になるので自分の作業内容に即した名前を入力.

たとえばこのタブで GoogleMozilla Japan の2つのサイトを開いてみる.

タブグループを削除してみる

作業終了時は <Leader>pr で(作業用)タブグループをまるごと削除.これでタブグループの中に開いたタブがすべて削除される.もしその中で残したいタブがあれば別途ブックマークするなり(←これも Vimperator には便利なプラグインがいくつか用意されている),<Leader>pp で別のタブグループに移動するなりすれば良い.

まとめてみる

このようにして作業内容ごとにタブグループを用意することによって,作業を中断して別の作業をして,また元の作業に戻る場合でも,そのときに必要なタブはそのタブグループ内にすべて存在するので,大変わかり易いと思う. また,これら作業途中で開いたタブはすべて後で一括削除するということを前提にすれば,気兼ねなくメモリの許す限りどんどん開いていくことができるし,実際作業終了時には <Leader>pr によって簡単にタブグループごと削除し(そう Vimperator ではこの「やりたいことを簡単に実現できる」ことが強みなんだと個人的に思っている)作業前の綺麗な状態に戻ることが可能である.

どうですか? Vimperator を初めて触るという方も,すでに触ってきたという方も,もし今まで panorama をスルーされてきたのであれば一度触ってみることをおすすめします.きっと作業が捗りますよ!

Example

では最後に簡単な作業例を示して終わりたいと思います.

(例)クリスマスまでに彼女を作りたい,というケース

1. タブグループを新規作成

<Leader>pa で入力待ち状態になるので新しく作りたいタブグループの名前を入力して ENTER. 今回は「/my girl friend for xmas」という名前で作成することにします.

すなわち <Leader>pa として入力待ち状態になったら /my girl friend for xmas と入力して ENTER.

2. 作成したタブグループ内でタブを思う存分開く

さて Vimperator では o で現在のタブに検索結果を表示,t で新しくタブを作ってそこに検索結果を表示,なので立て続けに以下の検索をしたとしましょう.

  • o 彼女 作り方
  • t モテる 好印象
  • t モテる 食事 誘い方
  • t モテる デート 誘い方
  • t 簡単にモテる
  • t 女性に嫌われない
  • t ビッチ 出会い

3. 作成したタブグループを削除

さて新しく作ったタブグループに7つの新しいタブが作成されたかと思います.しかし本能に任せてあれこれリンクを辿っているうちにどんどんタブが増えていくことはよくあることで,全部で 108 ものタブを開いてしまったとしましょう(えっ

今回紹介した panorama を知らないとこれらのタブを全部削除するのは大変ですよね.しかもその中で残したいタブがあったりするとさらに・・・.でも先程説明したように panorama なら :panorama remove 一発で簡単に現在のタブグループで開いているタブ群だけを削除できる,っていうかタブグループごと削除できる.私の上記キーマッピングを用いた場合だと <Leader>pr ですね.また,もし残したいタブがあったなら :panorama pushtab などで,削除前に予め別のタブグループに退避させておくとよいでしょう.同じく,私のマッピングの場合,<Leader>pp ですね.

余談

実は :panorama remove コマンドは引数を取ることができて,今回のように引数なしだと「現在のタブグループを削除する」だけど,引数に任意のタブグループを指定することで任意のタブグループを削除することができる.ほかにも :panorama コマンドも引数なしの場合は :panorama list と同じ.


さぁ! Vimperator のおかげで彼女ができました! Vimperator のおかげで就職が出来ました! と思わずツイートしてしまうできる男になっちゃいましょう!

Let's enjoy Vimperator!