setcompatiblemode文(Ver8.13対応版)
目次− setcompatiblemode文
 setcompatiblemode文は、マクロの互換性の指示をします。(V6.00以降)

 パラメータに以下の値を指定できます。
 折りたたみがあるときの動作を、以下の値のOR演算した値で指定できます。

0x0000   マクロの標準動作(0x0002と同じ)

0x0001   折りたたみを解除

0x0002   折りたたみを無視してなるべく維持

0x0003   折りたたみを維持

0x0002の「折りたたみを無視してなるべく維持」は、例えばdown;文でカーソル移動したとき、折りたたみされた範囲に入るときのみ自動的に折りたたみが解除されます。
折りたたみされた場所でなければ折りたたみはそのままです。
 部分編集されているときの動作を、以下の値のOR演算した値で指定できます。

0x0000   マクロの標準動作(0x0008と同じ)

0x0004   部分編集を解除

0x0008   部分編集を無視してなるべく維持

0x000c   部分編集を維持

0x0008の「部分編集を無視してなるべく維持」は、例えばdown;文でカーソル移動したとき、部分編集された範囲の外に出るときのみ自動的に部分編集が解除されます。
部分編集された範囲内での移動では部分編集はそのままです。
以下の文は部分編集を維持していても、部分編集の外にジャンプします。
・nextmark/prevmark(マーク行の上検索/下検索)
・goupdateup/goupdatedown(上/下の編集マーク)
・nextcolormarker/prevcolormarker(上/下のカラーマーカー)
 openfileなどでファイルを開くときの排他制御(秀丸エディタで同じファイルを開く場合)の動作を、以下の値のOR演算した値で指定できます。

0x0000   マクロの標準動作(動作環境に従う)

0x0010   開く方法を問い合わせする

0x0020   上書き禁止で開く

0x0030   同じファイルを2つ開くことを禁止する(ジャンプする)

0x0040   ファイルを読み込みなおしする

 「検索での表示」の動作を、以下の値のOR演算した値で指定できます。

0x0000   マクロの標準動作(動作環境に従う)

0x0100   点滅表示

0x0200   範囲選択

 「貼り付け後のカーソル位置」の動作を、以下の値のOR演算した値で指定できます。(V8.00以降)

0x0000   マクロの標準動作(動作環境に従う)

0x1000   先頭のまま

0x2000   最後に移動

 V6.00において追加された「折りたたみ」や「部分編集」をしている時は、カーソル移動の挙動が従来とは異なります。
 例えば、up;やdown;ではV6.00未満では必ず一行移動していましたが、V6.00以降では、折りたたみがあると数行ジャンプしたり、部分編集では移動しないことがあります。
 マクロは、この互換性を維持するために、全ての文のカーソル移動の挙動は折りたたみと部分編集は無視して、V5.xx以前の従来通りの動きのままとなるようになっています。

 setcompatiblemode 0x000f; (つまり 0x0003 | 0x000c)とすると、折りたたみと部分編集を無視せずにマクロを動作させることができます。
 V6.00以降でキー操作の記録をすると、自動的にこの文が付きます。
 この文を実行しなければ、setcompatiblemode 0x0000; と同じ状態で、V6.00未満の動作と同じになります。
 (V6.00時点では「折りたたみを無視してなるべく維持」「部分編集を無視してなるべく維持」と同等になります。)

 0x0001の「折りたたみを解除」は、setcompatiblemodeを実行したとたんに、全ての折りたたみが解除されます。
 0x0002の「折りたたみを無視してなるべく維持」は、折りたたみ中であることは無視しつつ、必要なら解除し、解除する必要がなければそのままになります。

 0x0004の「部分編集を解除」は、setcompatiblemodeを実行したとたんに、部分編集が解除されます。
 0x0008の「部分編集を無視してなるべく維持」は、部分編集中であることは無視しつつ、必要なら解除し、解除する必要がなければそのままになります。

 setactivehidemaruなどでマクロの実行が他の秀丸エディタに移動してもこの状態は引き継がれます。



戻る