wasavi (VI editor for any web page)

#

wasavi は ChromeOperaFirefox 用のエクステンションです。 wasavi はあらゆるページ上の TEXTAREA 要素を VI エディタ化します。wasavi はほぼすべての VI コマンド、およびいくつかの ex コマンドをサポートします。

wasavi の開発は継続中です。バグレポートや機能の要請はどんなものでも歓迎します。

また、開発を継続するための寄付も歓迎します:

Donate Flattr

簡単な使い方

込み入った使い方

インストール

現在、wasavi は以下のブラウザで動作します。各ブラウザで以下のリンクをクリックし、標準的なエクステンションのインストール方法に従ってください。これらのエクステンションは各ブラウザのアドオン・ストアに登録されています。

ソースコードと最新の開発版は Github で管理しています:

Opera ユーザへの注意

Presto ベースの Opera は DOM3 Composition Event をサポートしていないので、IME を通した入力は保証されません。Presto ベースの Opera は拡張に対してシステムクリップボード操作を許していません。したがって Opera ではレジスタ * は使用できません。

Chrome ユーザへの注意

Chrome は Ctrl+T、Ctrl+W および Ctrl+N の基本的なショートカットを予約しています。これらのキーは wasavi から使用することができませんが、その代わりに Alt+T、Alt+W および Alt+N を使うことができます。

よく聞かれる質問

wasavi の起動

TEXTAREA にフォーカスし、Ctrl+Enter を押してください。

wasavi の終了

wasavi を終了するには ZZ:q:wq などの VI の終了コマンドを入力してください。

wasavi が :set コマンドで受け入れるオプションは?

を参照してください。

注意: 受け入れるが、まだ何の効力も持たないオプションもあります。

Firefox で Vimperator と共存する

wasavi_mediator.js を Vimperator のプラグインディレクトリに置いてください。たとえば ~/.vimperator/plugin%HOME%\vimperator\plugin です。

このプラグインは wasavi の状態に従って Vimperator のパススルーモードを制御します。

Firefox で Keysnail と共存する

wasavi_mediator.ks.js を Keysnail のプラグインディレクトリに置いてください。

このプラグインは wasavi の状態に従って Keysanil のサスペンドモードを制御します。

単体のテキストエディタとしての利用

wasavi をインストールし、リンク オンラインアプリとしての wasavi を開いてください。wasavi が自動的に起動します。この状態では、Dropbox/Google Drive のファイルに対して ex コマンド :read:write:edit:file が使用できます。Dropbox/Google Drive へのアクセスのために OAuth による承認が必要です。

自動的な設定の上書き

wasavi の実行時に入力された :set コマンドは、エクステンションに永続的に記憶され、wasavi の次回の実行時に再生されます。

この設定の上書き機構は最大 30 の各 URL ごとに機能します。この機能が不要であるならば、exrc に :set nooverride を追加してください。上書きは無効になります。

バグを見つけた

wasavi issue tracker で issue を作成してください。

Tips and Tricks

実装済みコマンド

Operations

c y d > < gq gu gU

Operation Aliases

cc yy dd >> << C Y D gqq guu gUU yss ySS

最後の 1 文字の前にカウンタを挿入することができます。

Surround Operations

Motions

- + ^ <home> $ <end> % | , ; _ / ? ' ` ( ) { } [[ ]] <enter> 0 j k h l ^N ^P ^H <down> <up> <left> <right> <space> w W b B e E gg gj gk g^ g$ G H M L f F t T n N

Range symbols (Vim text objects)

Scroll commands

^U ^D ^Y ^E ^B ^F <pageup> <pagedown> z<enter> z. zz z-

Edit commands

x X <delete> p P J . u ^R ~ ^L ^G ga gv m @ q r R a A i I o O & s S v V ZZ gi

ex commands

abbreviate cd chdir copy delete edit file filesystem global join k map mark marks move options print put pwd quit read redo s & ~ set sort submit registers to unabbreviate undo unmap version v write wq wqs xit yank > < @ *

ex コマンドでのアドレス指定はフルサポートされています:

さらに、/re/+1p のようにオフセットも受け付けます。 2 つのアドレスは通常 , で繋ぎますが ; で繋ぐこともできます。

入力モードのコマンド

行入力モードのコマンド

範囲選択モードのコマンド

範囲選択するにはコマンドモードで v または V を押します。

囲み識別子

囲み文字列

Vim 互換の機能

Fork me on GitHub