■ 短縮入力(abbreviation)概要
事前にファイルに登録しておくことで、「ViViScript」の様な長い単語や文章を「vvs」などの短縮形で入力できるようになりました。
短縮文字列は vi の :ab 互換の ViVi インスタンス単位の設定と、タイプ別設定の両方で登録することができます。
(同じ短縮文字列がある場合はタイプ別の方が優先します)
短縮文字列の展開は vi と同じ 半角空白等の記号入力 による自動展開(オプションで禁止可)と、
メニュー・ショートカットキーによる展開が可能です。
■ 短縮文字列登録・設定
インスタンス単位の設定は以下の ex コマンドを使います。
:ab <短縮文字列> <展開文字列> [Enter]
:ab で設定された情報はインスタンス単位で有効です。ViVi を終了すると設定が消えてしまいます。
定常的に試用する短縮入力を毎回起動後に短縮形を指定するのは面倒なので、.vivirc または .exrc に設定を書いておくとよいでしょう。
短縮文字を解除する場合は :ab <短縮文字列> [Enter] とします。
:ab [Enter] を実行すると登録されている短縮入力一覧が表示されます。
タイプ別の設定は、短縮入力ファイルを用意し、それを以下の設定項目で指定します。
[Type Settings]-[入力・編集]-[短縮入力ファイル]
または、[ツール]-[短縮入力ファイル編集] メニューを実行し、表示されるダイアログでファイルを指定することもできます。
短縮入力ファイルは各行に、<短縮文字列> と <展開文字列> を半角空白で区切って記述します。
短縮入力ファイルの内容は ViVi 起動時、または設定ダイアログで【OK】を押した時点でメモリに読み込まれます。
ファイル内容を修正しただけでは展開結果は変わりませんので、修正後は設定ダイアログをいったん開いて【OK】を押すとよいでしょう。
■ 短縮入力操作
[Global Settings]-[編集]-[Space で短縮入力] が ON の場合、半角空白を挿入した時点で 直前単語が短縮入力キーとして設定されている場合は、自動的に短縮文字列を展開します。
:ab a abbrev [Enter] と設定しているとき、Space を挿入すると下図の様に a が abbrev に展開されます。
ときどき、展開して欲しくないのに自動的に展開されてしまう場合があります。 そんなときは undo(Ctrl + Z)を実行すれば、展開前の状態に戻ります。
[ツール]-[短縮入力] メニュー、またはショートカットの Ctrl + K を押すことで、
直前の単語が短縮文字列として登録されている場合は、それを展開します。
Space で展開してほしくない場合も展開されてしまうのが嫌という人は、
オプションで自動展開をOFFにしておき、こちらのコマンドによる展開機能を使うといいでしょう。
■ 高度な使い方
展開文字列中に Esc がある場合、それ以降は vi コマンドとして評価されます。
この機能を使うと、いろいろ高度なことができるようになります。
たとえば、以下のように定義しておくと for 文のスケルトンを自動入力することができます。
([Enter]、[Esc] は Ctrl + T に続けて当該キーを押して入力します)
:ab for for (;;) { [Enter] } [Enter] [Esc] ?\( [Enter] a