整形についてNo.29559
styth さん 11/03/05 07:14
 
●xxxxxxxxxxxxxxxxxx
  xxx
●yyyyyyyyyyyyyyyyyy
  yyyyyy
●zzzzzzzzz

1.aaaaaaaaaaaaaaaaaa
  aaaaa
2.bbbbbbbbbbbbb
3.cccccccccccccccccc
  cccccccccccccccc

 上記のように整形はできないでしょうか?
 123...の連番は全角になるかも知れません。

 よろしくお願いします。

[ ]
RE:29559 整形についてNo.29561
Iranoan さん 11/03/05 18:52
 
 styth さん今日は、一ユーザの Iranoan です。
> ●xxxxxxxxxxxxxxxxxx
<snip>
> 1.aaaaaaaaaaaaaaaaaa
>   aaaaa
<snip>
>  上記のように整形はできないでしょうか?
 こちらも、マクロでないと無理でしょう。
 全角の場合は面倒ですが、半角なら簡単。
//------------------------------------------------------------
setcompatiblemode 0x0200;
$s = searchbuffer;
#s = searchoption|0x80000000;
#s2 = searchoption2;
searchdown2 "^●", regular, inselect;
#i = 1;
disableinvert;
begingroupundo;
while( result ){
  insert str( #i ) + ".";
  #i = #i + 1;
  finddown2;
}
escapeinselect;
endgroupundo;
setsearch $s, #s, #s2;

[ ]
RE:29561 整形についてNo.29563
styth さん 11/03/05 19:36
 
 説明不足ですみません。
 20桁目に整形ラインが表示されている(20桁目で折り返す)として

(整形前、例1)
●xxxxxxxxxxxxxxxxxxxxx
●yyyyyyyyyyyyyyyyyyyyyyyy
●zzzzzzzzz

(整形後、例1)
●xxxxxxxxxxxxxxxxxx
  xxx
●yyyyyyyyyyyyyyyyyy
  yyyyyy
●zzzzzzzzz


(整形前、例2)
1.aaaaaaaaaaaaaaaaaaaaaaa
2.bbbbbbbbbbbbb
3.cccccccccccccccccccccccccccccccccc

(整形後、例2)
1.aaaaaaaaaaaaaaaaaa
  aaaaa
2.bbbbbbbbbbbbb
3.cccccccccccccccccc
  cccccccccccccccc

(整形前、例2')
1.aaaaaaaaaaaaaaaaaaaaaaa
2.bbbbbbbbbbbbb
3.cccccccccccccccccccccccccccccccccc

(整形後、例2')
1.aaaaaaaaaaaaaaaa
  aaaaaaa
2.bbbbbbbbbbbbb
3.cccccccccccccccc
  cccccccccccccccc
  cc

 例2は、数字が全角もできれば、よりうれしいです。ということです。
 やはり、マクロでないとできないでしょうか?
 よろしくお願いします。

[ ]
RE:29563 整形についてNo.29564
Iranoan さん 11/03/05 21:23
 
 styth さん今日は、一ユーザの Iranoan です。
> (整形前、例1)
> ●xxxxxxxxxxxxxxxxxxxxx
<snip>
> (整形後、例1)
> ●xxxxxxxxxxxxxxxxxx
>   xxx
 「インデントしつつ、整形ラインの位置で改行したい」という事でしょうか?
 この場合も、マクロでないと無理ですね。(少し関係しそうな話↓)
http://hidemaruo.dip.jp:81/turukame/turukame_3/x0902560.html#2617

 なお、「どの文字をインデント対象とするか?」がはっきり解らないので、
「行頭のタブ文字で段落全体をインデントする」が ON で「インデント対象に
追加する文字:」に限定とすると、次の要領で良いと思います。
//------------------------------------------------------------
if( selecting ){
  begingroupundo;
  config "xOrikaeshi:" + str( getconfig( "FormLine" )&0x00007fff );
  #top = seltopy;
  moveto 0, selendy - ( selendx == 0 );
  escape;
  while( y > #top ){
    if( x != 0 ){
      #i = 0;
      $s = "";
      while( #i < x ){
        $s = $s + " ";
        #i = #i + 1;
      }
      insert "\n" + $s;
    }
    moveto 0, y - 1;
  }
  endgroupundo;
}

[ ]
RE:29564 整形についてNo.29567
秀まるお2 さん 11/03/06 11:08
 
 「ファイルタイプ別の設定・体裁・インデント」の所で、たとえば「インデン
ト対象に追加する文字」の中に数字やピリオドの類を指定すると、表示上で、

1.xxxxxx...
  xxxxxx..
  xxxxxx..

 のようなことが出来ます。その表示してるそのままで、自動折り返ししてる位
置には改行コードを入れ、インデントしてる所には半角空白を入れたい、という
話だとしたら、それを実現するマクロを試しに作ってみました。

 マクロを実行する条件としては、禁則処理の設定で「改行文字きぶら下げ」が
ONになってる必要があります。

--------------------------------------------------------------------
    gofiletop;
    #xOrigin = xpixel;
    insert " ";
    #cxCharWidth = xpixel - #xOrigin;
    undo;
    $space = "                                  ";
    gofiletop;
Label_Loop:
    if( return ) {
        goto Label_Next;
    }
    golinetop2;
    #yStart = y;
    golineend;
    right;
    #cSpace = (xpixel - #xOrigin) / #cxCharWidth;
    golineend2;
    while(1) {
        golinetop;
        insertreturn;
        insertfix leftstr( $space, #cSpace );
        left;
        if( y <= #yStart ) {
            break;
        }
    }
Label_Next:
    down;
    if( !result ) {
        endmacro;
    }
    goto Label_Loop;

--------------------------------------------------------------------

[ ]
RE:29567 整形についてNo.29568
秀まるお2 さん 11/03/06 11:12
 
 すみません。Iranoanさんのマクロでうまく出来ているようでした。よく分か
らずに余計なマクロを作ってしまいました。

[ ]
RE:29564 整形についてNo.29571
styth さん 11/03/06 17:26
 
 Iranoan さん、ありがとうございます。
 作って頂いたマクロでできました。
 また、不明な点があればお聞きしたいのですが、よろしくお願いします。

[ ]
RE:29567 整形についてNo.29572
styth さん 11/03/06 17:36
 
> 「ファイルタイプ別の設定・体裁・インデント」の所で、たとえば「インデン
>ト対象に追加する文字」の中に数字やピリオドの類を指定すると、表示上で、
>
>1.xxxxxx...
>  xxxxxx..
>  xxxxxx..


 マクロの話ではないのですが、

「インデント対象に追加する文字」に
 −・.()0123456789-.()0123456789●

 を指定しましたが、全角の「1.」「2.」等々では、インデントしてくれません。
 「半角数字+.」ではokです。
 何かやり方が間違っているんでしょうか?
 よろしくお願いします。

[ ]
RE:29572 整形についてNo.29582
秀丸担当 さん 11/03/07 10:07
 

> を指定しましたが、全角の「1.」「2.」等々では、インデントしてくれません。
> 「半角数字+.」ではokです。

もしかしたら、ファイルがUnicodeで、フォントが日本語の文字セットではない
ものが選ばれているとそうなってしまうかもしれないです。

該当のファイルを開いて、[その他]→[ファイルタイプ別の設定]→[フォント]の
ところで、右側の「言語:」が「日本語」になっていると大丈夫だと思いますが、
「Unicode」となっていて、かつその下に「文字セットが日本語ではないため、
全角文字を処理するマクロや強調表示の一覧などが正常に動作しない可能性があ
ります」と出ていたらうまくできないかもしれないです。
その場合は、この表示が出ないフォントに変えるとうまくいくかもしれないです。

[ ]
RE:29582 整形についてNo.29587
styth さん 11/03/07 18:13
 
>該当のファルを開いて、[その他]→[ファイルタイプ別の設定]→[フォント]の
>ところで、右側の「言語:」が「日本語」になっていると大丈夫だと思いますが、
 「言語:」は「日本語」になっていました。
 ただ、[ファイルタイプ別の設定]は、(一時的な設定)になっていて、名前を付け
ていない状態(無題)です。この時に、ちゃんとインデントされるでしょうか?
 名前が付いている「xxx.mac」とか「xxx.txt」等なら、うまく行きます。
 よろしくお願いします。

[ ]
RE:29587 整形についてNo.29589
秀丸担当 さん 11/03/08 09:36
 

> 「言語:」は「日本語」になっていました。
> ただ、[ファイルタイプ別の設定]は、(一時的な設定)になっていて、名前を付け
>ていない状態(無題)です。この時に、ちゃんとインデントされるでしょうか?
> 名前が付いている「xxx.mac」とか「xxx.txt」等なら、うまく行きます。
> よろしくお願いします。

そうでしたか。
そうだとすると、なぜかはわからないですがファイルタイプ別の設定の違いによ
る原因がどこかにあるのだと思います。
.macや.txtとの違いを探ると何かわかるかもしれません。
こちらで確認した限りではフォントによる違いしか思いあたりませんでした。フ
ォントをいったん変更してみると何か変化があるかもしれないです。

または「一時的な設定」になっているとのことですが、これが特に何も操作して
いないのに「一時的な設定」になっているということだとしたら、通常ではそう
いうことは無いはずです。
そうだとしたら、どこかに「一時的な設定」になる要因があると思うので、それ
を探ると何かわかるかもしれません。
例えば、自動起動マクロを指定されていて、マクロが何かの変更をしているとそ
うなることがあると思います。
マクロの場合は[マクロ]→[マクロ登録]→[自動起動]のところから確認できます。

[ ]
RE:29589 整形についてNo.29592
styth さん 11/03/08 18:44
 
>例えば、自動起動マクロを指定されていて、マクロが何かの変更をしているとそ
>うなることがあると思います。
 「秀丸エディタ起動時のオプション」で、/x、を指定して、マクロを実行して
います。

[ ]
RE:29592 整形についてNo.29593
秀丸担当 さん 11/03/09 09:18
 

> 「秀丸エディタ起動時のオプション」で、/x、を指定して、マクロを実行して
>います。

そうでしたか。
そうだとすると、そのマクロの内容がわかると何かわかるかもしれないです。
試しに/xを付けずに起動してみるとマクロが原因かどうかがわかると思います。

マクロが原因ではないとしたら、ファイルタイプ別の設定のどこかに原因がある
のだと思います。

もし差し支えなければ[その他]→[設定内容の保存/復元]で設定内容をファイル
に保存したものと該当のマクロを送っていただけるとこちらで調べることもでき
ると思います。
送っていただける場合は"PEH00775@nifty.com"まで秀丸担当宛と書いて送っても
らえると助かります。

[ ]
RE:29593 整形についてNo.29594
styth さん 11/03/09 18:36
 
>もし差し支えなければ[その他]→[設定内容の保存/復元]で設定内容をファイル
>に保存したものと該当のマクロを送っていただけるとこちらで調べることもでき
>ると思います。
 送りました。
 よろしくお願いします。

[ ]
RE:29594 整形についてNo.29596
秀丸担当 さん 11/03/10 11:58
 

ファイルを受け取りました。
ありがとうございます。
反映させて試してみましたが、新規作成状態でも、/xによりマクロ実行後でも問
題は見られませんでした。

あともう一つ思いつきました。
インデント対象となる文字が折り返し文字数の半分くらいを超えていると、折り
返しによって行数が極端に増えるのを防ぐため、自動的に働かないような仕様が
ありました。

サンプルのテキストが

 −・.()0123456789-.()0123456789●xxxxxxxxxxxxxxxxxxxx....

という感じだとしたら、折り返し文字数が少ないとうまくいかないと思います。

1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx....

という感じであればうまくいくのではないかと思います。


あと、マクロの内容も貼り付けるものだけのようで、「一時的な設定」にはなら
ないものでした。
確かに「一時的な設定」になるとしたら、送っていただいたマクロは別のマクロ
なのかもしれません。

[ ]
RE:29596 整形についてNo.29605
styth さん 11/03/12 13:40
 
>反映させて試してみましたが、新規作成状態でも、/xによりマクロ実行後でも問
>題は見られませんでした。
 ・
 ・
 ・
>あと、マクロの内容も貼り付けるものだけのようで、「一時的な設定」にはなら
>ないものでした。
>確かに「一時的な設定」になるとしたら、送っていただいたマクロは別のマクロ
>なのかもしれません。
 実は、Orchisというランチャーから秀丸を起動し、その時に、送ったマクロを
実行させています。
 そこで、「ファイルタイプ別の設定」を開いて、「更新しないで保存」を実行
すると、(一時的な設定)になります。
 よろしくお願いします。

[ ]
RE:29605 整形についてNo.29609
秀丸担当 さん 11/03/14 09:50
 

> 実は、Orchisというランチャーから秀丸を起動し、その時に、送ったマクロを
>実行させています。
> そこで、「ファイルタイプ別の設定」を開いて、「更新しないで保存」を実行
>すると、(一時的な設定)になります。
> よろしくお願いします。

詳しい内容ありがとうございます。
設定以外にも操作手順などでこちらで把握していないことがあるのかもしれない
です。
こちらで確認させていただいたことなど、詳しいことをメールで送らせていただ
きます。
お手数ですが確認していただけたらと思います。

[ ]