74(半角)文字目に改行を入れるマクロNo.00341
Nautilus さん 99/01/10 02:31
 
はじめまして。Nautilusと申します。

カラー化秀丸を使っているのですが,カラー化とは関係ない質問のようなので
こちらの会議室に引っ越してきました。

さて,表題のように行頭から74文字目(半角)に改行を挿入するマクロの書き方を
お教え願えないでしょうか。74文字以下の行についてはなにもしないものとします。
また,74文字目が全角文字をまたいだら,75文字目に改行を入れるものとします。
これだけの処理をテキスト全体に行ってくれるマクロを書きたいのです。
仕様としてはこれだけです。禁則処理等については全然考えていません。





[ ]
RE:00341 74(半角)文字目に改行を入れるマNo.00343
つよきち さん 99/01/11 12:02
 
こんにちわNautilusさん(^-^)
やっぱりさっきのは却下です(はずかしい(^^;;;))

>はじめまして。Nautilusと申します。
>
>カラー化秀丸を使っているのですが,カラー化とは関係ない質問のようなので
>こちらの会議室に引っ越してきました。
>
>さて,表題のように行頭から74文字目(半角)に改行を挿入するマクロの書き方を
>お教え願えないでしょうか。74文字以下の行についてはなにもしないものとします。
>また,74文字目が全角文字をまたいだら,75文字目に改行を入れるものとします。
>これだけの処理をテキスト全体に行ってくれるマクロを書きたいのです。
>仕様としてはこれだけです。禁則処理等については全然考えていません。
>
>
>
>

私もマクロは初心者ですが、
以下のようなのはどうでしょうか?
考え方としては、
1,一端改行コードを全て取り去る
2,改めて74桁目に改行コード入れる
です。
※自動インデントはチェックしないで下さい。


-----------------------
// 一端改行コードを全て取り去る
gofiletop;
replaceallfast "\\n","",regular;
gofiletop;

// 成型用定数初期化
#kaigyouichi = 74;// 改行文字数 = 74 ※ご自分で調整下さい

//カーソルがファイル終端に来るまで処理する
while(code != eof) {
// code : カーソル位置の文字コードを返す内部的なキーワードです。
//  x : カーソルの桁位置を返す内部的なキーワードです。
while(x < #kaigyouichi - 1){
right;// カーソルを右へ
if(code == eof){// カーソル移動後の位置の文字がEOF?
gofiletop;// ならばファイル先頭へ戻り
endmacro;// 終了
}
}
insertreturn;// 改行文字を挿入
}

gofiletop;// ファイル先頭へ戻り
endmacro;// 終了

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


[ ]
RE:00343 74(半角)文字目に改行を入れるマNo.00359
Nautilus さん 99/01/16 02:08
 
どうもコメントありがとうございます。

実は,これから,つよきちさんのマクロを研究します。
丁寧にコメントをつけていただいて,ありがとうござい
ます。コメントなしではチンプンカンプンだったところ
です。
秀丸マクロについては,完全初心者なので,分かるまで
に相当時間がかかるでしょう。
調べて分からないことがあったときには,またお世話に
なるかも知れません。そのときは,よろしくお願いしま
す。
               Nautilus

[ ]