チュートリアルをはじめる前に

本チュートリアルをはじめる前に、Vimperator(Firefoxアドオン)がインストールされている必要があります。下記URLよりインストールを実行してください。

https://addons.mozilla.org/en-us/firefox/addon/vimperator/

Vimperator教本(チュートリアル)へようこそ - Version 0.1

Vimperatorは、このチュートリアルで説明するには多すぎる程のコマンドを備えた非常に強力なアドオンです。このチュートリアルは、あなたがVimperatorを万能ブラウジングツールとして使いこなせるようになるのに十分なコマンドについて説明をするようなっています。

チュートリアルを完了するのに必要な時間は、覚えたコマンドを試すのにどれだけ時間を使うのかにもよりますが、およそ25から30分です。

ATTENTION:

以下の練習用コマンドにはページ遷移を行うものやタブを閉じるものがあります。練習を始める前にこのページのURLをメモしましょう。

このチュートリアルが、「使うことで覚えられる仕組み」になっていることを、心しておかなければなりません。正しく学習するにはコマンドを実際に試さなければならないのです。文章を読んだだけならば、きっと忘れてしまいます!

さぁ、Capsロック(Shift-Lock)キーが押されていないことを確認した後、画面にレッスン1.1 が全部表示されるところまで、j キーを押してカーソルを移動しましょう。

@CretedDate 2013/06/30
@author mwsoft
@thanks vimtutor
レッスン 1.1: スクロール

** スクロールするには、示される様に h,j,k,l を押します **

      ^
      k              ヒント:   h キーは左方向に移動します。
< h       l >                 l キーは右方向に移動します。
      j                       j キーは下矢印キーのようなキーです。
      v
      
  1. 移動に慣れるまで、本ページでスクロールを実行しましょう。
  2. 下へのキー(j)を押しつづけると、連続して移動できます。
    これで次のレッスンに移動する方法がわかりましたね。
  3. 下へのキーを使って、レッスン1.2 に移動しましょう。

Note: 何をタイプしているか判らなくなったら、<ESC>を押してノーマルモードにします。それから入力しようとしていたコマンドを再入力しましょう。

Note: カーソルキーでも移動できます。しかし hjkl に一度慣れてしまえば、はるかに速く移動することができるでしょう。いやマジで!

レッスン 1.2: Vimperatorの一時的な無効化

!! NOTE: 以下のあらゆるステップを行う前に、このレッスンを読みましょう!!

Vimperatorは時としてブラウザや他のアドオンのキーバインドを不能にしてしまうことがあります。Vimperatorを一時的に無効(Ignoreモード)にすることでそれらのキーは動作可能です。

  1. <ESC>キーを押しましょう。(確実にノーマルモードにするため)
  2. 次のようにタイプ: <Shift> + <ESC>
    これにより一時的にVimparatorのキーバインドが無効になります。
  3. jやkでカーソル移動が行われないことを確認してください。
  4. もう一度次のようにタイプ: <Shift> + <ESC>
    無効になっていたVimparatorのキーバインドが有効になります。

Note: <Ins>キーでも同様の動作になります。

Note: Ignoreモード時は画面下部に IGNORE ALL KEYS と出力されます。

このように表示されます

iをタイプすると1回限りキーバインドを無効にできます。この場合、一度キーがタイプされると解除されます。

  1. iを押してから次のようにタイプ: <Ctrl> + A
    キーバインドが無効になった為、Firefoxが持つ全選択の機能が実行されます
  2. 次のようにタイプ: <Ctrl> + A
    無効の効果は一度で切れるため、全選択の機能は無効になっています
レッスン 1.3: まとめてスクロールする

半ページ、もしくは1ページ分まとめてスクロールしたい場合は、以下をタイプします。

Note: それぞれForward, Backward, Down, Upと考えると覚えやすいでしょう。

VimperatorはVimと同じくモーションのカウントを指定することもできます。たとえば5jとタイプすれば5行カーソルが下に移動します。

  1. 移動になれるまで<Ctrl> + f,b,d,uを実行しましょう。
  2. 5jと入力して5行分下にスクロールすることを確認しましょう。
  3. 10kと入力して10行分上にスクロールすることを確認しましょう。
レッスン 1.4: ページの先頭/末尾に移動する

!! NOTE: 以下のあらゆるステップを行う前に、このレッスンを読みましょう!!

Vimお馴染みのコマンドでページの先頭、末尾に移動することができます。行番号を指定して移動することも可能です。

  1. gg : ページの先頭に移動する
  2. G : ページの末尾に移動する
  3. 25gg : ページの25%の位置に移動する

Note: 環境にもよりますがおよそ25ggでこのレッスンが見える範囲にスクロールが移動できるはずです

レッスン 1 要約
  1. スクロールは矢印キーもしくは hjkl キーで移動します。
    h (左) j (下) k (上) l (右)
  2. Vimperatorのキーバインドを無効にするには <Shift> + <Esc>
    もしくは <Ins> とタイプします。
  3. キーバインドを1度限り無効にするには i をタイプします。
  4. 1ページ分スクロールするには <Ctrl> + f <Ctrl> + b とタイプします
  5. 半ページ分スクロールするには <Ctrl> + d <Ctrl> + u とタイプします
  6. ページの先頭に移動するには gg 、ページの末尾に移動するには G とタイプします
レッスン 2.1: リンク遷移

Vimperatorではリンクを利用した遷移もキーボードから行えます。キーボードの f をタイプしてみてください。以下のサンプルリンクに赤い枠で1〜3の数字が表示されましたね。

Note: 下図のように表示されたと思います。

このように表示されます

Note: 表示された数字を入力すると、リンク先に遷移することができます。テキストボックスへのフォーカス移動も可能です。

  1. fキーをタイプして、サンプルリンク : Google のリンクへ遷移し、ブラウザの戻るボタンでこのページに戻りましょう。
  2. Fキーをタイプしてリンクを選択すると新しいタブでリンク先が開きます。Fキーを押して、サンプルリンク : Yahooのリンクを選択してみましょう。

Note: 10個以上リンクが存在する場合は、1と押しただけでは遷移しない場合があります(1だけで遷移してしまったら10を押せなくなるので)。その場合は1を入力後に<Enter>をタイプします。

Note: フォーカス可能な要素が1つしかない場合は、f を押した時点でリンク遷移が行われます。

レッスン 2.2: ページの戻る/進む

!! NOTE: 以下のあらゆるステップを行う前に、このレッスンを読みましょう!!

ブラウザの履歴を戻る/進む機能は、Firefoxが持つ Alt + → や Alt + ← でも実行することができますが、Vimperatorのコマンドで実行した方がよりホームポジションに近い位置でタイプできます。

  1. f をタイプして下記のサンプルリンクに遷移しましょう。
  2. 以下のキーを使って慣れるまでページの戻る/進むを実行しましょう。
  3. <Ctrl> + o : ブラウザの戻る機能を実行します。
  4. <Ctrl> + i : ブラウザの進む機能を実行します。
  5. L : ブラウザの戻る機能を実行します。
  6. H : ブラウザの進む機能を実行します。

サンプルリンク : mwsoft

Note: 画面上にリンクが1つの場合は、fキーを押しただけで遷移します。

Note: テキストボックスにフォーカスがあると、これらのコマンドは実行できません。<Esc> をタイプするとフォーカスは外れます。

Note: H と L はスクロールの移動で出てきた h(左) と l(右) の大文字。
o と i はキーボードでは j(下) や k(上) の1つ上にいるキーですね。

レッスン 2.3: Web検索

現在のタブでWeb検索を行うには o をタイプしてから検索ワードを入力します。新しいタブで検索する場合は t をタイプします。

  1. o <検索ワード> と入力してWeb検索が実行されることを確認しましょう。
  2. H か <Ctrl> + o で元のページに戻り、次は t <検索ワード> と入力して新しいタブでWeb検索を実行しましょう。

Note: o や t をタイプした際に使用される検索サイトはFirefoxのデフォルト設定によって変わります。

Note: o や t をタイプした後にtabキーを押すと、表示された検索エンジンを選択することができます。

Note: o や t をタイプした後にURLを入力すると、そのURLへ遷移します。何も入力しなければ空のタブが開きます。

レッスン 2: 要約
  1. リンク遷移を行う時は f を押してから表示された数字をタイプします。
  2. 新しいタブでリンクを開く場合は F を使います。
  3. ページの戻る/進むは H もしくは L 、 <Ctrl> + i もしくは <Ctrl> + o をタイプします。
  4. Web検索を行う場合は、 o をタイプしてから検索ワードを入力します。
  5. 新しいタブで検索を行う場合は、 t をタイプしてから検索ワードを入力します。
レッスン 3.1: 隣のタブの移動

Vimperatorで開かれたタブを移動する手段は複数あります。Firefoxが持つ <Ctrl> + <Tab> を利用することもできます。

Note: gt や gT は連打が効かない為、離れたタブへ移動する際は <Ctrl> + n や <Ctrl> + p を使った方が楽でしょう。NextやPreviousの頭文字なので覚えやすいですね。

  1. gt と gT をタイプして、他のタブを行き来してみましょう。
  2. <Ctrl> + n と <Ctrl> + p を使って 他のタブを行き来してみましょう。
  3. b をタイプして現在のタブ一覧を出し、任意のタブに移動してみましょう
レッスン 3.2: タブを閉じる
  1. 次のようにタイプ : t <Enter>
    新しいタブを開きます。
  2. 次のようにタイプ : d
    開いたタブが閉じられます。
  3. 再度 t <Enter> でタブを開いた後、次のようにタイプ : :q
    開いたタブが閉じられます。

Note: Firefoxが元々用意している <Ctrl> + w や <ctrl> + <F4> でも閉じることができます。

レッスン 3.4: ブラウザを閉じる

!! NOTE: 以下のステップでを実行するとブラウザが終了します。!!

  1. 次のようにタイプ : ZQ
    ブラウザを終了します。
  2. 次のようにタイプ : :qa
    ブラウザを終了します。
  3. 次のようにタイプ : ZZ
    現在のセッションを保存してブラウザを終了します。
  4. 次のようにタイプ : :wq
    現在のセッションを保存してブラウザを終了します。

Note: セッションを保持して終了すると、次回ブラウザ起動時に現在の状態に復帰できます。

Note: 通常の <Alt> + <F4> も利用できます。

レッスン 3 要約
  1. gt や gT で隣のタブに移動します。
  2. <Ctrl> + n や<Ctrl> + p で隣のタブに移動します。
  3. d や :q でタブを閉じます。
  4. u で閉じたタブが復帰します。
  5. ZQ や :qa でウィンドウを閉じます。
  6. ZZ や :xq で現在のセッションを保存してブラウザを終了します。
レッスン 4.1: ページ内検索

** 語句を検索するには / と、検索する語句をタイプします。**

  1. / という文字をタイプします。画面一番下に Find という文字が現れたことに気づくでしょう。
  2. では、'bill joy' <ENTER> とタイプしましょう。これが検索したい単語です。
  3. 同じ語をもう一度検索するときは 単に n をタイプします。
    逆方向に語句を検索するときは N をタイプします。
  4. 逆方向に語句を検索する場合は、/ の代わりに ? コマンドを使用します。
  5. 検索後にハイライトを消したい場合は、 :noh とタイプします。

Note: bill joy はこのページに2回だけ出現します。検索して n をタイプすると2ヶ所を循環して検索するはずです。

Note: Firefoxで一般的に用いられる <Ctrl> + f による検索は別のキーバインド(1ページ分スクロールする)が割り当てられている為、利用できません。しかしVimmerの皆さんには / の方がしっくりくることでしょう。

レッスン 4.2: 大文字小文字を区別して検索する

Emacs と emacs の2つを、case sensitive(大文字小文字を区別する)モードで検索してみましょう。

  1. / という文字をタイプします。
  2. 検索ワードとして emacs\C と入力し <Enter> をタイプします。
    検索ワード中に \C が含まれる場合は case sensitive として扱われ、本例では大文字を含んだEmacsは検索対象から外れます。

Note: 検索ワードに \l が含まれた場合は、リンク文字列のみを検索します。

レッスン 4.3: 本文のコピー

IGAAAAAAAAAAという文字列をコピーする手順を実施します。

  1. / iga <Enter> とタイプして IGAAAAAAAAAA という文字列を検索にヒットさせます。
  2. c をタイプしてキャレットモードに移行します。画面にカーソルが出現します。j や k をタイプしてみてください。ページスクロールではなくカーソルの上下が行われることに気づくでしょう。
  3. IGAA... の 先頭にカーソルを持って行き、 v で ビジュアルモードに移行します。カーソルを移動させて、 IGAAAAAAAAAA を反転させましょう。
  4. y をタイプしましょう。反転した文字がクリップボードにコピーされます。

Note: キャレットモードになるとウィンドウ下部に下図のように表示されます。

このように表示されます

Note: コピーに成功すると下図のように表示されます。

このように表示されます

v をタイプせずにキャレットモードのまま選択してコピーすることもできます。この場合は大文字の Y で反転した箇所をコピーできます。ポインティングデバイスで文字列を反転させた場合も同様です。

  1. / iga <Enter> とタイプして IGAAAAAAAAAA という文字列を検索にヒットさせます。
  2. c をタイプしてキャレットモードに移行し、Shift + 矢印キーで文字列を選択します。
  3. 大文字の Y をタイプして選択文字列をコピーします。

Note: コピーについては無理にキーボードを使わず、ポインティングデバイスで選択して Y を入力した方が早い場合も多々あります。

Note: ノーマルモードやキャレットモードで 小文字の y をタイプした場合は、現在のURLがコピーされます。

Note: 最初に検索を行うのはカーソルを選択したい文字列付近に持っていく為です。hjkl で移動しても良いですが、時間がかかることでしょう。

レッスン 4 要約
  1. ページ内検索を行うには、 / をタイプしてから検索ワードを入力します。
  2. 次の検索ワードに移動するには、 n を、 前の検索ワードに戻るには N をタイプします。
  3. 大文字小文字を区別して検索したい場合は検索ワードに \C を含めます。
  4. 本文をコピーする場合はページ内検索で付近のワードを検索し、 c でキャレットモードに移行。 v でビジュアルモードにして選択し、 Y でyankします。
レッスン 5.1: 指定サイトでVimperatorを無効にする

Gmailのような独自のショートカットキーを持つサイトでは、Vimperatorを無効としたい場合があります。

  1. :ignorekeys add mail\\.google <Enter> とタイプします。
    これで mail.gmail をURLに含むサイトでVimperatorのキーバインドが無効になります。
  2. Gmailのサイトに遷移します。
    画面下部に IGNORE ALL KEYS という表示が出ていれば成功です。
  3. 設定を削除する場合は :ignorekeys remove とタイプします。
  4. 設定されている項目が一覧で表示されるので、 <Tab> で選択し <Enter> をタイプします。これで指定されたサイトが無効リストから削除されます。
レッスン 5.2: 一部のキーを禁止する

Vimperatorのキーを廃止し、ブラウザ本来のショートカットを実行したいと考えることもあるでしょう。

例として <Ctrl> + a をタイプした際に、全選択が行われるようにしてみましょう。

  1. 次のようにタイプします : :inoremap <C-a> <Ins><C-a><Ins>
    inoremap は Insertモード時について設定します。<Ctrl> + a がタイプされたら <Ins> <Ctrl> + a <Ins> を実行するという意味になります。<Ins>で一時的にキーバインドを無効にしてから <Ctrl> + a を実行させることで、ブラウザ本来の機能が有効になります。
  2. 次のようにタイプします : :noremap <C-a> <Ins><C-a><Ins>
    これでノーマルモード時にページ全体を選択することも可能になりました。
  3. ブラウザを終了すると、記述した設定は元に戻ります。

Note: ブラウザ終了後も設定を残したい場合は、次のセクションを試してみましょう。

次に<Backspace>でブラウザの履歴を戻る機能を無効にする設定をしてみましょう。

  1. 次のようにタイプします : :noremap <BS> <NOP>
    これでBackspaceが押されても何もしない設定になりました。
レッスン 5.3: 設定ファイルを記述する

設定ファイルに記述しておけば、ブラウザを再起動した後もキーマッピングの変更を保持することができます。

Vimperatorの設定は、ホームディレクトリ配下に .vimperatorrc もしくは _vimperatorrc というファイルを作成して記述します。

  1. 上記のパスにファイルを作成します。
  2. 次のような1行を記述します : inoremap <C-a> <Ins><C-a><Ins>
  3. ブラウザを再起動します。

これでブラウザを立ち上げ直した後も、インサートモードで <Ctrl> + a を押した場合は全選択が実行されるようになりました。

Note: ブラウザ上でコマンドをタイプした時と違い、前方にコロンが必要ないことに注意してください。

レッスン 5.4: 自動フォーカスを禁止する

検索サイトなどではページを開いた際に、自動で検索ボックスがフォーカスされてしまう場合があります。テキストボックス内ではVimperatorの豊富な機能が使えなくなってしまう為、これを禁止したいと考える人もいることでしょう。

  1. 前セクションで作成したvimperatorrcファイルを開きましょう。
  2. 次の1行を追加します : set focuscontent
    これで自動でフォーカスされることはなくなります。
  3. ブラウザを再起動します。
レッスン 5 要約
  1. 指定サイトでVimperatorを無効にしたい場合は、 :ignorekeys add <URLの一部> とタイプします。
  2. キーマッピングを書き換える場合は、 noremap を利用します。インサートモードでのマッピングを書き換える場合は、 inoremap を利用します。
  3. Vimperatorの詳細な設定は vimperatorrc ファイルに記述します。

これにて Vim のチュートリアルを終わります。ブラウジングを簡単に、しかも充分に行えるように、Vimperatorが持つ機能の主要なもののみ伝えようとしました。Vimperatorにはさらに多くのコマンドがあり、ここで全てを説明することはできません。移行はユーザマニュアルを参照してください。":help"

VimperatorはJavaScriptで拡張することが可能になっており、様々なプラグインが配布されています。vimperatorrcを記述したりプラグインを活用することで、より楽しいブラウジングが可能になるでしょう。

このチュートリアルは vimtutor のアイデアを基に書かれました。