Vimmatic - Vim風に操作できるブラウザ拡張

Vimmatic - Vim風に操作できるブラウザ拡張

こんにちは、お久しぶりです。この度ブラウザをVim風に操作できる、ブラウザ拡張をリリースしました。以前Firefox用アドオン「Vim Vixen」とういブラウザ拡張を開発していましたが、この度「Vimmatic」というブラウザ拡張を新たにリリースしました。

Vim Vixenと違い、新たなブラウザ拡張は以下の特徴があります。

  • 新たなブランディングによるリニューアル
  • Google Chrome/Chromiumのサポート
  • Manifest v3サポート
  • いくつかのバグ修正と機能追加

インストール

VimmaticはFirefoxとGoogle Chrome/Chromiumをサポートしています。以下からインストールできます。

Firefox
Firefox
Chrome
Chrome
インストール インストール

キーバインド

VimmaticはVim風のキーバインドでブラウザ操作可能です。キーボードで、スクロールやタブ操作など、ほとんどのブラウザ操作をサポートします。

スクロール

  • k/j/h/l 上下左右にスクロール
  • Ctrl+u/Ctrl+d: 上下に半ページ分スクロール
  • Ctrl+b/Ctrl+f: 上下に1ページ分スクロール
  • gg/G: ページの最上部、最下部にスクロール
  • 0/$ ページの左端、右端にスクロール

タブの選択

  • d: タブを閉じる
  • !d: ピン留されたタブを閉じる
  • u: 閉じたタブを復元
  • r/R リロード/スーパーリロード
  • K/J 左/右のタブを選択
  • g0/g$ 最も左/右のタブを選択
  • Ctrl+6: 最後に選択したタブに移動
  • zp: 現在のタブをピン留する
  • zd: 現在のタブを複製する

その他

  • H/L: 履歴を戻る、進む
  • [[ ]]: サイトの前、次を開く
  • gu: 親ディレクトリに移動
  • gU: ルートディレクトリに移動
  • gi: 最初のinput要素にフォーカス
  • zi: ページを拡大
  • zo: ページを縮小
  • zz: ページの拡大率をリセット
  • y: 現在のURLをクリップボードにコピー
  • p: クリップボードのURLを現在のタブで開く
  • P: クリップボードのURLを新しいタブで開く
  • Shift+Esc: アドオンの有効、無効化を切り替え
  • gf: 現在のタブのソースコードを表示
  • gh: ブラウザのホームページを開く

コマンドライン

:でコマンドラインを表示します。コマンドによってタブ操作やページ遷移ができます。

:help

公式ドキュメントを開きます。

:open

:openコマンドは特定のURLまたは検索エンジンの結果を開きます。URLを指定するとそのURLを開きます。

:open http://github.com/ueokande

また検索キーワードを指定すると、検索結果を開きます。デフォルトの検索エンジンはGoogleです。

:open How to contribute to Vimmatic

また検索キーワードの前に、yahooや wikipedia など検索エンジンを指定できます。

:open yahoo How to contribute to Vimmatic

o/Oキーは:openコマンドのショートカットです。 Oキーは現在のタブのURLをあらかじめ入力した状態でコマンドラインを開きます。

:tabopen

:tabopen, :winopenコマンドは:openと似ています。:openは現在のタブ上でページを開くのに対し、:tabopenコマンドは新しいタブを、:winopenコマンドは新しいウィンドウを開きます。

t/Tキーは:tabopenコマンドの、w/Wキーは:winopenコマンドのショートカットです。TおよびWキーは現在のタブのURLをあらかじめ入力した状態でコマンドラインを開きます。

:quit / :q

現在のタブを閉じます。

:quitall / :qa

現在のウィンドウの全てのタブを閉じます。

:bdelete[!]

URLやキーワードにマッチする特定のタブを閉じます。末尾に!をつけると、ピン留されているタブを閉じることができます。

:bdeletes[!]

URLやキーワードにマッチする全てのタブを閉じます。末尾に!をつけると、ピン留されているタブを閉じることができます。

:buffer

URLやキーワードにマッチするタブを選択します。

bキーは:bufferコマンドのショートカットです。

:addbookmark

現在のタブをブックマークに追加します。

aキーは:addbookmarkコマンドのショートカットです。

:set

プロパティを切り替えられます。 利用可能なプロパティは以下の通りです。

smoothscroll

スムーススクロールのオン、オフを切り替えられます。

:set smoothscroll   " スムーズスクロールを有効化
:set nosmoothscroll " スムーズスクロールを無効化

hintchars

フォローモードで利用するヒントキーを設定できます。

:set hintchars=0123456789

complete

:open, :tabopen, :winopen コマンドで表示する補完を設定します。 以下の文字を組み合わせて設定できます。

  • s: 検索エンジン
  • b: ブックマーク
  • h: ヒストリー
:set complete=sbh

colorscheme

コンソールのカラースキーマを設定します。

:set colorscheme=system     " システム設定に追従
:set colorscheme=light      " ライトモード
:set colorscheme=dark       " ダークモード

フォローモード

フォローモードは、ページ内のリンクをキーボードで選択できます。fまたはFを押すと、ページ内のリンクにヒントが表示されます。ヒントの文字を入力すると、そのリンクに移動します。fは現在のタブで、Fは新しいタブでリンクを開きます。

マーク

ページ内のスクロール位置をマークすることができます。a-zのマークは現在のタブのスクロール位置を記憶します。A-Zのマークはタブのスクロール位置とタブを記憶します。

  • m: 現在のスクロール位置をマーク
  • ': マークした位置に移動

ページ内検索

/キーでページ内検索を開始します。nキーで次の検索結果に、Nキーで前の検索結果に移動します。

おわりに

以上でVimmaticの簡単な解説でした。Vimmaticは以下のリポジトリで開発しています。

開発の裏側に関しては、また別の記事で紹介する予定です!


Profile picture

Shin'ya Ueoka

B2B向けSaaSを提供する会社の、元Webエンジニア。今はエンジニアリング組織のマネジメントをしている。