マクロによる自動でウインドウ幅にあわせNo.17341
トロロ さん 04/06/09 21:48
 
こんにちは
秀丸v4.07を使っています。

ウインドウ幅で自動的に折り返すモードと折り返さないモード(実際には折り返す文
字数を2000に設定)を簡単に切り替えるために、次のような感じのマクロを作ろうと
しました。

if (現在自動でウインドウ幅にあわせるモード?) {
    // ウインドウ幅で折り返さないモードに切り替え
    自動でウインドウ幅にあわせるモードを解除し、
    折り返し文字数を2000に設定
} else {
    // ウインドウ幅で折り返すモードに切り替え
    自動でウインドウ幅にあわせるモードを設定
}

ところが、

(1) 現在「自動でウインドウ幅にあわせるモード」になっているかどうかを取得する
方法
(2) 自動でウインドウ幅にあわせるモードを設定する方法 (自動でウインドウ幅
にあわせるモードを解除し折り返し文字数を指定した値に設定するには「config
w〜」すればよいというのはわかりました)

がわかりませんでした。もし、ご存じの方がおられましたら、お教えください。
または、これを実現するほかの方法、マクロ等があればお教えください。
よろしくお願いします。

[ ]
RE:17341 マクロによる自動でウインドウ幅No.17342
トロロ さん 04/06/09 22:00
 
長くなるので投稿を分けました。

マクロによる折り返しをウインドウ幅にあわせるモードの扱い方がわからなかったた
め、とりあえず次のようなマクロを作ってみました。

ここから
// ワイドモードで用いる折り返し文字数(10〜2000)
#wide_width = 2000;
// 行番号表示文字数(編集可能な最大行数を変えると、この値も変わるような気がす
るが、試してない)
#lineno_width = 6;
// 現在の折り返し文字数
#current_width = width;
if (#current_width < #wide_width) {
 $command = "w" + str(#wide_width);
} else {
 // 行番号表示あり?
 if (linenostate != 0) {
  $command = "w" + str(windowwidth - #lineno_width); // 行番号表示ありの場合、
windowwidthが返す値は行番号部分も含んでいるため補正する。
 } else {
  $command = "w" + str(windowwidth);
 }
}
config $command;
endmacro;
ここまで

これだと、意図に近い動きはするのですが、マクロを使った後はウインドウ幅にあわ
せて折り返すモードが解除されてしまうのです。
普段はこのモードをメインに使っているためどうにも都合が悪いのです。

長々となりましたが、もしウインドウ幅にあわせて折り返すモードを切り替えるよい
方法があればお教えください。
よろしくお願いします。

[ ]
RE:17342 マクロによる自動でウインドウ幅No.17354
秀まるお2 さん 04/06/10 13:39
 
 現状のV4.07では、「自動折り返し」になってるかどうかの取得および設定は、
うまく動作しません。ソースコード上で確認してダメなことが確認できたので間
違いないです。

 自動折り返しをマクロで制御するには、V4.10βでないとダメです。

 V4.10βでという前提でなら、以下のようにして自動折り返しを取得/設定で
きます。

■取得方法:
   #n = getconfig("AutoAdjustOrikaeshi");

 のようにして、返る値が0か1かで判断できます。

■設定方法:

  自動折り返しONにするには、

     setconfig "xAutoAdjustOrikaeshi:+";

  自動折り返しOFFにするには、

     setconfig "xAutoAdjustOrikaeshi:-";

 です。

[ ]
RE:17341 マクロによる自動でウインドウ幅No.17357
Iranoan さん 04/06/10 13:54
 
 トロロさん今日は、Iranoan です。
> ウインドウ幅で自動的に折り返すモードと折り返さないモード(実際には折り返す文
> 字数を2000に設定)を簡単に切り替える
 まだβ版しかでていない Ver.4.10 が必要かもしれませんが、末尾のマクロ
で如何でしょう?

 P.S マクロの作成相談は、http://www.maruo.co.jp/turukame/4/ の方が良
いかも。
//--------------------------------------------------------------------
if( getconfig( "AutoAdjustOrikaeshi" ) ){
  config "xAutoAdjustOrikaeshi:0 w20000";
}
else{
  config "xAutoAdjustOrikaeshi:1";
}

[ ]
RE:17357 マクロによる自動でウインドウ幅No.17364
トロロ さん 04/06/10 21:36
 
こんばんは
Iranoan様、秀まるお2様ご回答いただきありがとうございました。
Iranoan様のマクロは私のほしかったマクロそのもので、さっそく快適に使わせてい
ただいています。
定番マクロになりそうです。
ありがとうございました。

[ ]