@@ -37,6 +37,7 @@ Vimは全ての端末で構文ハイライトをサポートしている。し
373715. 関数名などのハイライト| tag-highlight |
383816. ウィンドウローカル構文| :ownsyntax |
393917. カラー対応xterm| xterm-color |
40+ 18. シンタックスが遅い時には| :syntime |
4041
4142{Vi にはこれらのコマンドはない}
4243
@@ -4875,4 +4876,64 @@ xtermのパッチレベル107以上を使い(入手場所は上を参照)、以
48754876Setup→Font→Enable Boldが無効になっていることを確認すること。
48764877(この情報はJohn Love-Jensen <eljay@Adobe.COM>によって提供された)
48774878
4879+
4880+ ==============================================================================
4881+ 18. シンタックスが遅い時には*:syntime*
4882+
4883+ この章はシンタックスファイルを作る人向けである。
4884+
4885+ もしあなたの作ったシンタックスにより再描画が遅くなってしまったら、ここに書いた
4886+ 方法でそれを速くできるかもしれない。| folding | や 'relativenumber' といった機能
4887+ を有効化すると、それらが干渉して遅くなる場合もある。
4888+
4889+ 時間のかかっているシンタックスパターンを発見するために、以下の様な手順で概要を
4890+ 得られる: >
4891+
4892+ :syntime on
4893+ [ CTRL-L で最低でも一度は再描画を実行する ]
4894+ :syntime report
4895+
4896+ これにより利用されたシンタックスパターンが、マッチにかかった時間の多い順にソー
4897+ トして表示される。
4898+
4899+ :syntime on シンタックスにかかる時間の測定を開始する。
4900+ 測定をするにはシンタックスパターンのマッチに多少のオーバーヘッドが
4901+ 発生する。
4902+
4903+ :syntime off シンタックスの計測を終了する。
4904+
4905+ :syntime clear 全部のカウンタを 0 にし、計測をやり直す。
4906+
4907+ :syntime report 現在のウィンドウで ":syntime on" してから使用されたシンタ
4908+ ックス要素を表示する。
4909+ 出力される内容をちゃんと読むには幅の広いディスプレイを使ったほうが
4910+ 良い。
4911+
4912+ リストは総時間(TOTAL)でソートされている。
4913+ リストには以下のカラムからなる:
4914+ TOTAL パターンのマッチにかかった総時間
4915+ COUNT パターンが使われた回数
4916+ MATCH パターンが実際にマッチした回数
4917+ SLOWEST マッチ1回あたりの最長時間
4918+ AVERAGE マッチ1回あたりの平均時間
4919+ NAME シンタックス要素の名前。
4920+ Note: 一意な名前ではないことに注意。
4921+ PATTERN 使用されたパターン
4922+
4923+ パターンマッチングは多くの可能性を試さなければならないときに遅くなる。
4924+ パターンにできる限り多くのリテラルテキストを含むことで、パターンが無駄にマッチ
4925+ する可能性を減らすよう試してみると良い。
4926+
4927+ "\@<=" や "\@<!" 要素を使用する時は、マッチする最大サイズを指定すると現在以降
4928+ の行の全部の位置でパターンを試すことを避けられる。
4929+ たとえば要素のマッチするものがリテラルテキストならば、そのテキストのサイズをバ
4930+ イト数で指定すると良い。
4931+
4932+ "<\@<=span" "<span" 中の "span" にマッチする。
4933+ これは "<" があるかどうか多くの場所でマッチを試みる。
4934+ (ゆえに遅くなりやすい)
4935+ "<\@1<=span" 同じものにマッチするが、"span" の前の1バイトだけをチェックする
4936+ 。
4937+
4938+
48784939 vim:tw=78:sw=4:ts=8:ft=help:norl:
0 commit comments