ViVi build 09xx One Point Tips


 ここではViVi build 09xxの便利な使い方を紹介します。
 この内容はViViの「その他」-「One Point Tips」でも閲覧できます。

 ViVi One Point Tips のコーナでは皆様の投稿をお待ちしております。便利な使い方をご存知の方は、是非投稿してくださいね。
(投稿の採否は、筆者の独断と偏見で行います。文章の一部を修正することもありますが、ご容赦ください)

 


■ 編集機能

◎ vi

 vi コマンドを使うと、最小限度のキーストロークで編集をすることが可能になります。

◎ 文字コード変換(by 新明氏)

 文書の一部分の文字コードを変換する場合は、その部分を選択し、「編集」-「文字変換」を行います。

◎ 行単位の選択

 行番号部分(行頭よりも左)をクリック&ドラッグすることで、行単位の選択ができます。

◎ 単語単位の選択

 ダブルクリックを行うと単語選択ができます。そのままドラッグすると選択範囲を拡張できます。

◎ シフト(インデント)

 複数行選択して、Tab で右シフト(インデント)、Shift + Tab で左シフト(逆インデント)できます。

◎ 画面分割

 Alt + F5 で画面を上下に分割可能です。F6 でペインの切り替え、Alt + F6、Shift + Alt + F6 でサイズの増減が可能です。

◎ タブ8ファイルをタブ4に

 レイアウト状態をそのままにタブ8ファイルをタブ4にするには、「編集」-「文字変換」を使って、いったんタブを半角スペースに変換し、タブを4に設定し、空白をタブに変換します。

◎ レイアウト改行された状態でクリップボードにコピーしない(by やまさき@MDS氏)

 共通プロパティの編集タブの『コピー時:レイアウト改行を改行に変換』オプションをOFFにする。

◎ 罫線枠の拡張

 F10 または Shift + F10 で罫線枠を上下に拡張できます。BOX選択を行い、F10 または Shift + F10 を押すと罫線枠を左右に拡張できます。(秋田谷氏のアイデア)

◎ IME読み文字の再入力

 F12 を押すと以前に入力したIMEの読み文字が再入力されます。

◎ 任意のカラム位置の文字をキーにした行ソート

 キーにしたいカラム位置以降をBOX選択し、「編集」-「行順序」-「昇順にソート」を実行すると、カラム位置以降の文字列をキーに行ソートできます。

◎ 行頭記号・連番自動生成の一時中止

 Alt + Return で改行すると、行頭記号・連番の自動生成を行いません。

◎ 罫線

 Shift + F5 で罫線モードにし、Ctrl + 矢印で罫線を引くことができます。簡単な図表を描くことができます。

◎ 罫線消去

 オアシストの方は、共通プロパティ編集タブの右上の『Ctrl + Shift + 矢印 で罫線消去』オプションをONにしましょう。きっと幸せになれます。

◎ n文字入力

 Ctrl + U 76 - と入力すると“-”を76文字入力できます。

◎ 前行の文字入力

 Ctrl + E を入力すると、ひとつ前の行のカーソル位置の文字を入力します。

◎ 行頭記号をチェックマークに

 ●、◎ または ■、□ をチェックマークのように使用できます。記号の直後にカーソルを移動し、Alt + → または Alt + ← で記号を変更できます。

◎ 引用コピー、引用ペースト

 Alt + Ctrl + C で引用コピー、Alt + Ctrl + V で引用ペースト可能です。引用文字列は共通プロパティの編集タブで設定できます。

◎ Ctrl + : でコロンコマンド

 vi コマンドが無効、または挿入モードでも、Ctrl + : を入力することで、vi のコロンコマンドを実行できます。:g/^$/d や :{range}s/pat/rep/ 等は便利ですので、是非お試しください。

◎ 全選択前の位置に戻る

 Ctrl + A で全選択を行い,Escape で選択解除すると,カーソルが文書の最後に移動してしまいます.元の場所に戻るには「検索」-「直前位置へ」を実行します.

◎ 罫線をフィールド区切りに

 同梱の vivispr.txt の様に,1レコード1行形式のデータで,罫線(│)をフィールドの区切り記号にすると,データの修正でカラム位置が変化しないので便利です.

◎ 予約語の参照入力

 タイプ別プロパティの入力タブでキーワード部分を消去すると、予約語の先頭の数文字を入力後 Ctrl + K で予約語を入力可能です。

◎ Alt を押しながらマウスでBOX選択

 F5でBOX選択モードにしなくても、Altキーを押しながらマウスで選択を行うとBOX選択を行うことができます。

◎ キーによる文字変換系の操作(by ももたろ氏)

 文字変換系の操作は下手にキーアサインを変えるより、範囲選択して、 Alt+E X ? の方が楽だと思うぞ。マウスを使いたくない人にはお薦め。

◎ 単語の前後に空白入力(by ももたろ氏)

 タイプ別プロパティ→入力→選択文 に" , "を登録しておくと、vv Ctrl + 数字 で単語の両端にスペースが付加されるぞ。コーディング時の数式の形を整えるときなんかに便利なんだ。

 Alt キーを押しながらマウスで選択を行うとBOX選択になる。モードを変更する必要がなく便利だよ。

◎ 左右にスクロール(by ももたろ氏)

 Ctrl + , で左スクロール、Ctrl + . で右スクロールするぞ。
# SPRを読むときに便利♪

■ 印刷

◎ 行番号を印刷しない(by 川島@大分氏)

 行番号を印刷しないようにするには、タイプ別プロパティの印刷タブで『行番号を印刷』オプションをOFFにします。

◎ 印刷書式

 印刷での用紙方向や段組の設定は、タイプ別プロパティ(F8)の印刷タブで設定します。「ファイル」-「印刷ページ設定」メニューで設定ダイアログを呼び出すこともできます。

◎ 印刷文字サイズ

 印刷時のフォントサイズを大きくしたい場合は、タイプ別プロパティの印刷タブで1ページ行数を少なくします。

◎ ソースコードの印刷

 タイプ別プロパティの印刷タブで用紙方向横、2段組、行番号ON、1ページの行数70が作者のお気に入りです。

◎ 印刷のヘッダ、フッタ

 タイプ別プロパティの印刷タブで、ページのヘッダ、フッタ文字列を設定可能です。ファイル名や印字日時などを印刷することもできます。

◎ 改ページ

 ファイルに Ctrl + L が含まれていると改ページを行います。タイプ別プロパティの印刷タブの『Ctrl + L で改ページ』オプションをOFFにすると改ページしません。

◎ 罫線を連続させる

 タイプ別プロパティの印刷タブで、『罫線を連結して描画』オプションをONにします

■ 検索・置換・grep・文書比較

◎ Ctrl + F3 による単語検索

 Ctrl + F3 でカーソル位置の単語検索を行います。文字列が選択されている場合は、その文字列を検索します。F3, Shift + F3 で再検索もできます。

◎ タグジャンプ

 grep 結果から、対象行で F9 または行頭部分をダブルクリックすることで、ファイルを開き、該当行にジャンプします。

◎ フォルダの展開

 grep ダイアログでフォルダを選択し → を押すと、そのフォルダを展開します。

◎ 複数文字列の検索

 TRUE または FALSE を検索する場合は、正規表現で (TRUE|FALSE) と指定します。

◎ ( を検索

 正規表現で ( を検索する場合は \( と指定します。) も同様に \) です。

◎ 部分参照

 ( ) と \1 を使うと、置換文字列に一致文字列を含めることができます。たとえば、数字列を繰り返す場合は、:s/([0-9]+)/\1\1 とします。

◎ ( ) と \( \) の反転

 正規表現での ( ) \( \) の仕様を vi 互換にするには、共通プロパティの検索タブで『( ) \( \) の仕様を vi 互換に』オプションをONにします。

◎ 文書比較

 2つの文章の差違を「検索」-「文書比較」で見つけることができます。:diff でも可能です。

◎ 不一致個所への移動

 文書比較実行後、Alt + F10 で不一致個所へジャンプできます。Alt + F11 は比較ファイルの対応する位置へのジャンプです。

◎ 正規表現

 正規表現をマスターすると、検索、置換を効率的に行うことが可能になります。HTMLドキュメントの正規表現を参照しましょう。

◎ 空白類を無視した文書比較

 文書比較の時に、空白類を無視して比較することもできます。オプション設定は共通プロパティの検索タブで行います。

◎ 検索文字列の表示が判別しづらい

 共通プロパティの検索タブで、『テキスト入力で固定ピッチフォントを使用』オプションをONにするといいかもしれません。

◎ 行頭・行末の空白を削除(by 亀井大輔氏)

 :{range}s/^ +// で行頭の、:{range}s/ +$// で行末の空白を削除できます。

◎ :s の再実行

 :{range}s[g][c] とすると直前の検索、置換文字列を使用します。範囲を間違ってしていた時の再実行などに便利です(thanks 吉田@CAPCOM氏)

◎ 2個目の一致文字を置換(by 亀井大輔氏)

 :{range}s/pat/rep/2 とすると、行内で正規表現 pat に一致する2番目の文字列を rep に置換します。例えば、copy a.src a.src に対し、:s/src/dst/2 とすると、copy a.src a.dst となります。:s/pat/rep/2g とすると、2番目以降をすべて置換します。

◎ vv(by seigo13 氏)

 vv + 検索機能の操作系列は快適ですよ。
vv/(検索) vv?(検索) vv F4(置換) vv Shift + F4(grep)

◎ 指定文字列で始まる行への文字追加(by ももたろ氏)

  行頭が<pat>である行の行末に<rep>を追加するなら「:s/^(<pat>.*)/\1<rep>/」より、「:%s/^<pat>.*/&<rep>/」より、「:g/^<pat>/s/$/<rep>/」の方が二倍以上速いぞ(書き方も素直だしね)。

◎ 全置換がちょっと不安な貴方に(by ももたろ氏)

 「:%s/<pat>/<rep>/」の結果が不安なら、「:g/<pat>/P」を先にやっておくとよいかもしれない。

◎ 検索と . による連続置換(by ももたろ氏)

 たかだか、10〜15行程度の置換なら、「:n,ms/<pat>/<rep>/」 の正規表現で悩むより、検索と . の繰り返しを多用したほうが速いし楽かもしれない(汗)

◎ 行コメントを削除したい(by ももたろ氏)

 行コメントを削除したいときは「:%s/#.*//」&「:g/^#/d」のあわせ技で(#は使ってる言語のコメント開始文字にしてね)

 

■ ファイル

◎ 文字コード自動判別

 タイプ別プロパティのビュータブの左下の文字コード(Open時)を“自動”に設定しておくと、文字コードを自動判別します。

◎ 文字コードを指定しての再ロード

 文字コードの自動判別に失敗した場合は、「ファイル」-「再ロード」で文字コードを指定して再ロード可能です。

◎ 別のViViを起動

 Ctrl + F12 でViViの別のインスタンスを起動できます。Alt + Ctrl + F12 を押すと、別のインスタンスを起動し、現在編集中のファイルを開きます。

◎ 保存ダイアログでの文字コード変更

 「ファイル」-「名前を付けて保存」を選ぶと、ファイルの文字コード(SJIS/EUC/JIS)、改行(CRLF/LF/CRCRLF/CR)を指定し、保存することができます。(宮崎氏のアイデア)

◎ 起動時にタイプを指定

 起動時のオプションで“type=”を指定すると、拡張子とは関係ないプロパティタイプ設定にすることができるぞ。

◎ フォルダ直下のファイルをすべてクローズ

 アウトラインバーでフォルダアイテムを右ボタンクリックし、「ファイルを閉じる」を実行すると、フォルダ直下のファイルをすべてクローズしてくれるぞ。

 

■ vi 機能

◎ コマンドの繰り返し

 大部分のコマンドは数値を前置することで繰り返し回数を指定できます。3dd は3行削除です。

◎ :e&h :e&c

 .cpp ファイルを編集中は、:e&h でヘッダファイルをオープンできます。:e&c は .cpp ファイルをオープンです。:e# または Ctrl + ^ で以前のドキュメントに切り替えることもできます。

◎ :e

 :e return でオープンダイアログが開きます。:e *.cpp ならばカレントディレクトリのすべての .cpp ファイルがオープンされます。

◎ 単語単位の置換

 :%s/\<before\>/after/g とすると、単語単位の置換が可能です。before は置換されますが m_before は置換されません。

◎ 空行削除

 :g/^$/d ですべての空行を削除できます。

◎ 全角1文字置換

 全角1文字を置換する場合は s [IMEをON] 1文字 Escape とします。redo も可能です。

◎ df 文字

 df 文字 で、指定文字までを消去できます。2文字目までを消去する場合は d2f 文字 または df 文字 . とします。

◎ dt 文字

 dt 文字 で、指定文字の直前までを消去できます。foo(bar, goo) で、最後の引数を削除する場合は , の位置で dt) とするといいです。

◎ マウス・矢印キーを使用した行選択(by 純之助氏)

 Shift + 矢印、v コマンド、またはマウスで範囲選択し、"::" を入力すると選択された範囲の行番号が自動入力されます。

◎ v コマンドによる単語選択(by 純之助氏)

 vv でカーソル位置の単語を選択できます。

◎ V コマンドによる行選択(by 純之助氏)

 V で1行選択できます。3V とすると3行選択です。

◎ 文章の最後まで選択(by 純之助氏)

 vG でカーソル位置から文章の最後までを選択できます。

◎ 次の空行の直前まで選択(by 純之助氏)

 v/^$ で次の空行の直前までを選択できます。

◎ 次の空行の直前まで選択(by matobaa 氏)

 v} でも次の空行の直前までを選択できます。

◎ NIFTY ログで、次の会議室ヘッダの直前までを選択(by 純之助氏)

 v/^- F[A-Z]* とします。

◎ C/C++の次の関数定義位置の直前までを選択(by 純之助氏)

 v/^[a-zA-Z] とします。

◎ マークを使用した範囲指定(by 純之助氏)

 開始位置で ma とし、終了位置に移動し、:'a,. コマンド とする。

◎ 次、前の行のはじめに移動(by 植竹洋志氏)

 Return または + で次の行の、- で前の行の最初の空白でない文字に移動できます。

◎ 行頭、行末への移動

 0 で行頭へ、^ で最初の非空白文字へ、$ で行末に移動できます。

◎ レイアウトモードのON・OFF

 :set la または :set nola でレイアウトモードのON・OFFが可能です。

◎ レイアウトモードでの1行文字数の指定

 :set ll=文字数 で1行の文字数を指定できます。

◎ 大文字小文字変換

 ~ で英字の大文字小文字を反転できます。5~ の様に変換する文字数を指定することもできます。

◎ マーク

 m 英字 で位置をマークし、`英字 または '英字 でマーク位置にジャンプ可能です。

◎ マーク位置へジャンプする前の位置に戻る

 `英字 または '英字 でマーク位置にジャンプ後、'' または `` でもとの位置にジャンプできます。

◎ コロンコマンド履歴

 : ↑ で以前のコロンコマンドを呼び出すことができます。: 文字列 ↑ ならば、文字列で始まるコマンドのみを呼び出します。

◎ コロンコマンドの編集

 コロンコマンド入力中は、←、→、Home, End, BackSpace, Delete、Ctrl + V が使用できます。Escape は入力キャンセルです。

◎ 文字コードを指定しての再ロード

 文字コードの自動判別に失敗した場合は、:e! {s|e|j} で文字コードを指定して再ロード可能です。

◎ 文字コードの変更

 set cc={SJIS|EUC|JIS} でファイルの文字コードを変更できます。

◎ 書き込み禁止でオープン

 :er ファイル名 でファイルを書き込み禁止でオープンできます。

◎ カーソル位置行を画面最上部に

 z Return と入力します。z. z- というのもあります。

◎ cw

 単語を書き換えたい場合は、cw を使うと便利です。

◎ cf ct

 単語の一部を書き換えたい場合は、cf または ct を使うと便利です。数字 s がいい場合もあります。

◎ パターンを含む行のみの置換

 :g/pat/s/before/after で pat を含む行のみを置換できます。

◎ コマンド登録

 繰り返し行う操作は“:scr<0-9># vi コマンド”でコマンド登録しましょう。登録したコマンドは Ctrl + <0-9> で実行できます。

◎ 外部コマンド実行

 :! コマンド で外部コマンドを実行できます。:!javac % とし、エラー行でF9または行をダブルクリックすることで、エラー位置にジャンプすることも可能です。

◎ n文字入力

 76i- Escape と入力すると“-”を76文字入力できます。

◎ 行頭に文字列を追加

 行頭に“> ”等の文字列を追加する時は、範囲を選択し“::”と入力し、範囲を自動入力してから s/^/> / とします。「編集」-「入力」-「行頭に文字入力」という手もあります。

◎ 保存終了

 :x でドキュメントを保存し、クローズできます。

◎ 保存せずに終了

 :q! とします。

◎ HTMLタグの除去

 :%s/<[^>]+>//g とします。

◎ MRU、ウィンドウ一覧

 :mru でMRUの、:of[ile] で開いているファイルの一覧を表示できます。ファイル名をダブルクリックまたはその行で F9 を押すと該当ファイルを開きます。(桜井克己氏のアイデア)

◎ コントロールコード入力

 ^A を入力する時は、^T ^A とします。Windows では ^V はペーストです。

◎ 左右シフト

 Alt + , または Alt + . とします。

◎ 空行へ移動

 } で次の空行へ、{ で前の空行に移動できます。

◎ C/C++の関数定義位置へ

 ]] または [[ で行の最初の非空白文字が { の行に移動できます。

◎ :s の繰り返し

 & で、以前に実行した :s を再実行可能です。複数のファイルで befor を after に変更する時は、最初のファイルで :%s/befor/after/g とし、後はファイルを切り替えて & を入力するだけです。

◎ 行ソート

 :{range}so[rt] で指定範囲の行を昇順にソートできます。降順にソートする場合は :rs[ort] です。ソートキーは行の先頭の文字列ですが、:sort 18 の様にカラムを指定することもできます。

◎ 複数行選択(by 椎野徹氏)

 選択する行に移動し、v に続けて選択したい行数を入力し、k または j(または Return)を入力します。例えば、v3j で現在行から3行選択できます。

◎ 複数行選択(by 椎野徹氏)

 選択する行に移動し、v に続けて選択したい行番号を入力し G を入力します。例えば、v3G で現在行から3行目までを選択できます。

◎ 複数文字選択(by 椎野徹氏)

 選択する文字列に移動し、v に続けて選択したい文字数を入力し h または l(または Space)を入力します。例えば、v3l でカーソル位置から3文字を選択できます。

◎ 文字列修正時に Ctrl + V(by 岩崎毅氏)

 cw 等で文字列を修正する時、文字の挿入中に Ctrl + V でペーストができます。その後は . で同じ編集操作を再実行できます。

◎ 特定の文字列で始まる行を削除

 :g/^pat/d で pat で始まる行を削除できます。:v/^pat/d は pat で始まる行以外をすべて削除します。

◎ 特定の文字列で始まる行を表示

 :g/^pat/p で pat で始まる行をアウトプットビューに表示できます。:v/^pat/p は pat で始まる行以外をすべて表示します。

◎ :g/re/P

 :g/re/P を行うと、正規表現 re に一致する行を行番号付きでアウトプットに表示します。そこで F9 を押すことでタグジャンプ可能です。

◎ 行内での移動

 カーソルを現在行内で移動するときは、カーソル移動キーを使うよりも f 1文字 または t 1文字 を使うといい場合が多いです。文字が複数ある場合は、; で繰り返しができます。

◎ ex コマンド入力中の本文コピー(by 亀井大輔氏)

 ex コマンド入力中でも本文をマウスで範囲選択してコピーできます。コピーした文字列は Ctrl + V でコマンドラインにペーストできます。

◎ 再描画(by matobaa氏)

 「表示」-「再描画」を実行すると、なにかの拍子で乱れてしまった画面を書き直します。Ctrl + L で再描画させる癖のある人は、「その他」-「カスタマイズ」で Ctrl + L を再描画コマンドにアサインすると使いやすくなります。

◎ 行の追加・挿入・変更・削除(by 亀井大輔氏)

 sed の追加(a)、挿入(i)、変更(c)、削除(d)がViViのコマンドで可能です。
  追加  :{range}s/.*pat.*/&hogehoge/
  挿入  :{range}s/.*pat.*/hogehoge&/
  変更  :{range}s/.*pat.*/hogehoge/
  削除  :{range}g/pat/d

◎ 全選択前の位置に戻る

 Ctrl + A で全選択を行い,Escape で選択解除すると,カーソルが文書の最後に移動してしまいます.元の場所に戻るには `` または '' とします.

◎ ファイル名の補完

 :e などでファイル名入力中に Ctrl + L を押すと、入力した文字列で始まるファイルが一つだけの場合は、それを自動入力します。

◎ マークした文字を見えるようにする(by 中田氏)

 多くの行にマークすると、どの行にどのマークをつけたかがわからなくなります。そんなとき、「タイプ別プロパティ」-「ビュー」-「マーク行に文字を表示」をチェックしておくと、マークした文字を表示するようになります。

◎ 文章整形

 整形したい範囲を行単位で選択し ::a とすると一定行長で文章整形されます。行長の指定は :set fc=数値 で指定します。

◎ 選択範囲をコメントアウト(by ももたろ氏)

 選択範囲をコメントアウトするときは「::s/^/#/」とか「::s/^/\/\//」てな感じで。

◎ 置換文字列に / が含まれる場合

 置換文字列に / が含まれる場合は \/ を使うとよいが、区切り記号を . とかにしてもいいぞ。「::s.^.//」てな感じ。:-p

◎ 文頭の空白行を削除(by ももたろ氏)

 文頭の空白行を削除するなら「1G d/.」って感じで。

◎ d/ と d?(by ももたろ氏)

 「d/<pat>」はマッチした文字を消さないけど、「d?<pat>」はマッチした文字も消しちゃうんだよ。

◎ ファイル名補完入力(by ももたろ氏)

 コロンコマンドで filename を入力中にCtrl + Lとすると、ファイル名が補完されるぞ。しかも、補完されるファイル名が複数あるときは「パス選択」ダイアログがでるんだ。

◎ Ctrl + U で ex コマンド、検索文字列キャンセル

 : / ? で文字列入力中に Ctrl + U を入力すると、2文字目以降が削除されるぞ。削除を undo したいときはもう一度 Ctrl + U だ。

◎ fFtT で句読点を指定

 共通プロパティのviタブの『fFtT で ,. を、,。.にマッチ』オプションをONにしておくと、日本語の文章を編集するときにIMEの切り替え回数が減って効率的だ(たくひろ氏のアイデア)。

◎ 特定行数のカウント

 あるパターンの行の行数を数えたい場合は、:g/regexp/d を実行すると良い。ステータスバーに行数が表示されるぞ。消えた行の復活は u でOKだ。

◎ チルダ(~)でホームディレクトリ(by あひる氏)

 viコマンド入力時にホームディレクトリをチルダ「~」で参照できます。例えばd:\ahiruとホームディレクトリを設定しておけば、カレントディレクトリがどこだろうと、d:\ahiru\doc\memo.txt を開く時に、
:e ~/doc/memo.txt
(もちろんファイル名の補完も可能)とタイプするだけでOK

◎ スクロールの繰り返し(by ももたろ氏)

 内容:viモードでの^F,^B,^D,^U,^Y,^Eは繰り返し回数の指定もできるぞ。
# っちゅーか、初めて^Y,^Eの存在を知った(汗)

◎ コロンコマンドの行番号の省略(by ももたろ氏)

 コロンコマンドの範囲を指定を省略すると現在行(.と同義)になるぞ。
例)現在行から最後までをソート
:,$so

◎ コロンコマンドの行番号の演算(by ももたろ氏)

 コロンコマンドの範囲を指定するときに//-nなんてことができるぞ。
例)現在行からその下の空行までをソート
:,/^$/-1so

# -1しないと、空行もソートされちゃうんだよね(^^;;

 

■ HTML文書編集

◎ < > の変換

 < > を &lt; &gt; に変換するには、選択し「編集」-「文字変換」-「< > → &lt; &gt;」を選びます。

◎ タグの入力

 よく使用するタグはタイプ別プロパティの入力タブで短文登録しておきましょう。

◎ タグ入力2

 文字列を選択し、Alt + 0〜9 を入力すると、その前後に短文2で設定した文字列が入力されます。“<b>,</b>”なんか便利です。

◎ タグの色表示

 タイプ別プロパティのカラータグで、□ HTMLタグ をチェックしておくと、タグ部分が指定色表示されるので、HTML文書が読みやすくなります。

◎ JavaScript 中での“<”

 “<”の直後に英字があるとHTMLタグと認識されます。JavaScript では“<”の直後には空白を入れましょう。

◎ HTML コメント

 タイプ別プロパティのカラータグで、ブロックコメントに <!-- --> を指定しておきましょう。

◎ ブラウザとの連携

 Ctrl + F9 で Netscape Navigator、 Alt + F9 で Interner Explorer で開いているファイルを取り込むことができます。Shift + F9 は編集中のファイルをブラウザで表示します。

◎ 行頭記号に <li>(by matobaa 氏)

 .html に対して、タイプ別プロパティの入力タブの行頭記号に <li> を登録しておくと、リストアイテムを連続して入力するときに便利です。

◎ タグの補完入力(by やまさき@MDS氏)

 「<font>うにゃんっ(はぁと)<■」という状態でCTRL+Lを押すと“</font>”と補完してくれるよ。

 

■ アウトライン機能

◎ q コマンド

 vi の q コマンドでアウトラインバーを開くことができます。

◎ Q コマンド

 vi の Q コマンドでアウトラインバーを閉じることができます。

◎ 検索

 / 文字列 Return で見出し行の文字列を検索できます。

◎ 行頭文字列

 タイプ別プロパティの入力タブで行頭記号に任意の文字列を設定すると、その文字列で始まる行を見出し行とすることができます。

◎ 行頭記号記法

 見出し行の最初に記号を付ける記法を“行頭記号記法”と呼びます。このような記法で書いた文書はアウトライン表示すると全体的な見通しが大変よくなります。

◎ C/C++でのアウトライン表示(by seigo13 氏)

 標準でも関数やメソッド定義が見出しになりますが、“/**”、“///”などを行頭記号に登録すると、よりわかりやすく階層化できます。

◎ C/C++でのアウトライン表示(by seigo13 氏)

 ブロックコメント中に、行頭から『☆ コメントだよ』と書くのもいいでしょう。

◎ 行頭記号レヴェルの指定

 タイプ別プロパティの入力タブでの行頭記号の設定で、“1:□,1:■”の様にしてレヴェル指定ができます。同じレヴェルの行頭記号は同じレヴェルの見出しとなります。

◎ Q&A文書

 Q&A文書の場合、“Q.”等を行頭記号に設定し、アウトライン表示すると、大変読みやすくなります。

◎ アウトラインを閉じて、ジャンプ

 アウトラインバーで G を入力すると、アウトラインを閉じて、選択中のアイテムの位置にジャンプします。

◎ nレヴェルまでを表示

 H または Ctrl + Home でルートノードに移動し、数字 e と入力します。

◎ アウトラインの為の行頭記号(by ももたろ氏)

 アウトラインの為に行頭記号を設定してる人はオートテキストをオフにしておいたほうがいいかもしれない。

◎ r でリナンバ(by ももたろ氏)

 アウトラインバーで r とすると、連番がリナンバされるぞ。

◎ A コマンド(by ももたろ氏)

 アウトラインバーで A とすると、一時的にアウトラインの解析をしなくなるぞ。

◎ H コマンド(by ももたろ氏)

 アウトラインバーで H とすると、一番上のノードに移動するぞ。

■ プログラムソース編集

◎ 予約語の色表示

 タイプ別プロパティのカラータブで予約語のカラー表示を設定すると、プログラムソースがとても読みやすくなります。

◎ vtags

 vtags を使って tags ファイルを作成すると、関数、メソッドの定義位置に Alt + ] でジャンプしたり、Alt + [ でもとの位置に戻ることができます。

◎ 参照入力

 前後に同じつづりの単語がある場合、先頭の数文字と Ctrl + L または Ctrl + M を入力すると、入力した文字列で始まる単語の入力ができます。

◎ 対応するカッコへの一時移動

 共通プロパティ編集タブの『){]入力時:対応するカッコへ一時移動』をONにしておくと、カッコの対応が直ぐにわかります。:set sm でも設定可能です。

◎ 対応するカッコへの移動

 Ctrl + ] または vi の % コマンドで対応するカッコへ移動できます。

◎ 編集中のファイルを DevStudio 97 で開く

 Ctrl + F11 を押すと、ViViで編集中のファイルを DevStudio 97 でオープンすることができます。

◎ DevStudio 97 からViViを呼び出す

 DevStudio で「ツール」-「カスタマイズ」でツールタブを選び、ViViを登録します。引数は、/line=$(CurLine) $(FilePath) とします。これをキーにアサインすれば、DevStudio で編集中のファイルを1キー操作でViViでオープンすることができます。

◎ 予約語2

 VC++をお使いの場合、予約語2にMFCのクラス名を登録しておくといいです。MFCのクラス名は vtags を使うと取得できます。

◎ 行コメントのカラム指定

 特定のカラムに特定の文字がある場合にコメントになる場合は、タイプ別プロパティのカラータブで、右端の“↓カラム”の部分でカラムを指定します。(やまさき@MDS氏のアイデア)

◎ Borland C++ Builder の外部エディタとしてViViを登録(by 星鈴 (StarRing) 氏)

 BCB のツールのツールにViViを追加。実行時引数に『/line= $ROW $EDNAME』とすることで、BCB で編集中のファイルをオープンし同じ行にカーソルがある状態になる。注意:"/line=" と "$ROW" の間には空白が必要です。

◎ 参照継続文字入力(by ふじた氏)

 参照入力で補完した直後に Alt + Ctrl + O を入力すると、補完文字列を単語単位で継続入力することができます。関数名に引き続き引数まで参照入力することができます。

 

■ スクリプト

◎ 改行入力

 スクリプト登録ダイアログで、#vi コマンド に改行を挿入する場合は Ctrl + Return と入力します。

◎ 40バイトの文字列を作成する

 
  var t40 = text.left(39);
  t40 += " ".repeat(40 - t40.length())

◎ 項目の集計

 連想記憶を使って、項目の集計が可能です。stat[key] += 1; とします。

◎ 複数の値を返す関数

 ViViScript では実引数の値を関数内で変更できません。複数の値を返したい場合は、オブジェクトで返します。
  var obj;
  obj.value1 = value1;
  obj.value2 = value2;
  return obj;

◎ 実行中断

 Ctrl + F7 を押します。

◎ 新規ファイルでの文字コード指定

 newView.viComand(":set cc=EUC\n"); の様にします。

◎ 指定行、カラム位置への移動

 以下の様にします。
  view.viComand(format(":%d\n%d|", line, column));

■ トラブル回避

◎ 画面に「まっくろくろすけ」が現れて文字が読めない(by seigo13 氏)

 タイプ別プロパティのカラー設定を確認してみましょう。黒の背景に黒の文字を表示しても文字は見えません。多色環境の人はカラーカスタマイズに命を懸けてください。

◎ ショートカットキーの動作がおかしい(by やまさき@MDS氏)

 build を上げた場合にショートカットキーの動作がおかしくなることがあります.カスタマイズのキータブでリセットを実行してみましょう.90%はこれで直ります.なおらない場合は,バグレポートをだしましょう.

 

■ 設定

◎ Explorer の右ボタンメニュー「送る」にViViを追加(by 結城宏氏)

 Windows フォルダの SendTo にViViのショートカットを置いておくと Explorer の右ボタンメニュー「送る」にViViが追加され、ファイルの関連づけがされていないファイルも簡単に開くことができます。

◎ プロパティ管理

 「その他」−「プロパティ管理」で複数種類の拡張子を指定タイプにエイリアスすることができる。.h .c などを cpp タイプにエイリアスしておくと便利

◎ 起動時のタイプ指定

 起動時オプションに 「/type=mail」という形式でタイプを指定できる。メーラの外部エディタとして使用するときなど、メール専用の設定ができて便利だぞ

◎ viviへのファイル関連付け(by ソンタニ氏)

 viviへ関連付けたい拡張子を持つファイルをExplorerから右ドロップして、ポップアップメニューの「ViViに関連付ける」を選べば簡単に関連付けられる。

◎ SPR

 ◎、○ を行コメントにし、"ToDo" よ予約語にしてボールドの赤色表示になんかしちゃうとやるべきことがすぐに分かるぞ(教訓:分かると出来るはずいぶんちがうぞ)

■ その他

◎ オープン・セーブダイアログ

 オープン・セーブダイアログではファイル一覧部分を右ボタンクリックすることで新規ファイル、新規フォルダの作成、削除、リネームが可能です。

◎ 右ボタンによるファイルドロップ

 エクスプローラから右ボタンを使ってファイルをドロップすると、ポップアップメニューでファイル挿入、パス名入力等が可能です。

◎ 半角カナメニュー

 「その他」-「カスタマイズ」を選択し、メニュータブで『半角カナ』オプションをONにすると、メニューが半角カナ表記になります。

◎ ViViメーリングリスト

 ViViメーリングリストに入会すると、マイナービルドリリースやバグの情報の取得、仕様に関するディスカッションに参加できます。入会方法は同梱の readme.txt をご覧ください。

◎ キーカスタマイズ

 「その他」-「カスタマイズ」でキーカスタマイズできます。右側のツリーからコマンドをマウスでドラッグし、左側のキーにドロップするとコマンドがアサインされます。Shift, Ctrl, Alt はあらかじめ選択しておきます。

◎ 文字コード、改行コードの変更

 ドキュメント情報(Shift + F8)で文字コード、改行コードの確認と変更ができます。

◎ 文字コード種別表示

 共通プロパティのその他タブで『文字コード種別表示』オプションをONにしておくと、タイトルにファイルの文字コード種別が表示されます。(浦田@アルファシステム氏のアイデア)

◎ クラッシュ時のファイル保存

 Win 95 では、ViViの起動時のオプションに /strexc を指定しておくと、ViViがクラッシュした時に未保存のデータを自動的に別ファイルの保存してくれます。NT ではデフォルトでこの動作を行います。(注意:古い 95 では、/strexc を指定し、タイプ別プロパティを開くと、ViViがクラッシュします。この場合は /strexc を指定しないでください)

◎ クラッシュファイルの利用(by 山口@日本ユニシス氏)

 クラッシュファイルでは複数のファイルを一つにまとめるので、行の先頭に半角スペースを付加しています。これを削除する場合は、:%s/^ // とします。

◎ 引用部に色を付ける(by 下平裕美氏)

 タイプ別プロパティのカラータブで、行コメントを“>”、カラムを“1”に設定しておく。

◎ Tipsのフォントサイズ

 このTipsのフォントサイズは共通プロパティのその他タブで変更することができます。

◎ 水平スクロールバーの表示

 共通プロパティの起動タブの『水平スクロールバーを表示』オプションをONにすると、画面下部にスクロールバーが表れます。

◎ 右ボタンメニューも目立ちたい(by seigo13 氏)

 よく使うコマンドはメニューカスタマイズで右ボタンメニューに登録するとよいぞ! grep や 検索 は特にお勧めた。ダブルクリックで検索単語を反転させて右クリックである。

◎ 他のアプリからViViを呼びたい(by seigo13 氏)

 他のアプリがViViをうまく呼び出せない場合は、コマンドオプションに /mi を付けてみましょう。ファイルがうまく読み込まれない場合は /nss をつけてみましょう。以下の様に指定するとたいていうまくいきます。

  c:\Program files\vivi\vivi.exe /mi /nss

◎ 他のアプリからViViを呼びたい 2(by seigo13 氏)

 呼び出し時の引数が設定できるアプリでは、ファイル名を指定する部分を "" でくくるようにします。例えば、MsDev では引数の部分を以下の様にします。

  /mi /line="$(CurLine)" "$(FilePath)"

◎ 折り返し行長をビュー幅に合わせる

 タイプ別プロパティのレイアウトタブの『ビュー幅から1行文字数を決める』オプションをONにします。

◎ help 文書の編集(by ももたろ氏)

 [HTMLドキュメントディレクトリ]\vihelp.txt を編集すると、:help の内容が更新されるぞ。

◎ アウトラインのドキュメント(by ももたろ氏)

 ぢつは、outline.htmってゆーのが存在するぞ。

◎ VisualStudio Help(by ももたろ氏)

 範囲選択をしてCtrl+F1を押すと、(起動していれば)MSDNライブラリの検索をしてくれます。
コマンド一覧の「その他」に同様のコマンドが登録されています。