秀丸マクロで表示を更新せずに文字を1行1文字にする方法とは?

このQ&Aのポイント
  • 秀丸を使用してテキストファイルの文字を1行1文字にする方法を教えてください。
  • マクロを使って右矢印キーやエンターキーを繰り返し入力する方法でテキストファイルの文字を1行1文字にしたいですが、表示を更新せずに一気に処理する方法はありますか?
  • また、100000のように指定せずにファイルの終わりまで文字を処理する方法はありますか?
回答を見る
  • ベストアンサー

秀丸のマクロでいちいち表示を更新しないためには

秀丸についてお教えください。 テキストファイルに、改行なく、文字がべたべたべた・・・と、 何万文字も入っています。 1行1文字にしたいので、右矢印キーとエンターキーを繰り返したいと思っています。 (なぜ置換を使わないのか、の説明は省きます。) マクロを使って、下記のような感じにすればいいと思っています。 #a = 100000; while(#a > 0){ right; insertreturn; #a = #a -1; } ですが、これを実行すると、いちいち表示を更新してくるため、遅いです。 私としては、「全置換」の「一気」の「スピードアップ」みたいに、 サササーッ という具合にやりたいのですが、どうすればよいでしょうか。 また、ついでに聞きますが、 上記のマクロで、100000のように数を指定しないで、「ファイルの終わりまで」みたいにやるにはどうすればよいでしょうか。

noname#15902
noname#15902

質問者が選んだベストアンサー

  • ベストアンサー
  • -izayoi-
  • ベストアンサー率45% (48/105)
回答No.1

(1)表示の更新抑止は、「disabledraw」を使って下さい。 (2)100000のように数を指定しないで、「ファイルの終わりまで」みたいにやるには、「right」の終了コードを利用すれば良いです。右に移動できなくなった⇒ファイル終端に達したと判断してループを抜けます。 (3)ついでですが、カーソル位置が何処にあってもファイルの先頭から処理するのであれば、「gofiletop」を使います。  カーソルを置いた位置から後方に向かってだけ処理したいのであれば、これを抜いてください。  以上の3点を実装したコードを、以下に示します。 disabledraw; gofiletop; right; while(result) { insertreturn; right; }

noname#15902
質問者

補足

ありがとうございます。 表示の更新抑止については、おっしゃるとおりで出来ました。 しかし、私は、表示の更新抑止をやればもっと速くいくと思っていました。 それなのに、10分もかかってやっと3600(insertreturn;とright;の組が。)とは。

関連するQ&A

  • 20枚ほどのhtmlファイルの一部分を一気に置換する方法、(秀丸だと)

    エディターについての質問です! 秀丸の置換で『次の秀丸も続けて置換』にチェックを入れて全置換すると一気に何枚ものファイルを書き換えることは出来ますが、 改行されたところからペースト出来ないようになっています。 よってcssやjavaスクリプトなどのソースの改行部分ををいちいち消してペーストしなければなりません。 これだとなんだか読みにくいしめんどうだし、、あまり好い気はしません、、 cssやjavaスクリプトなどを改行せずにまるまるペーストできるソフトとかありましたら教えてください!! (と言うか秀丸で出来ますか?) それともう一つ、行数を指定して一気にペースト出来るソフトとかもあれば教えてください!

  • 秀丸エディタの複数のマクロを一度に実行させるには?

    秀丸エディタで、複数のマクロを一度に実行する方法を教えてください。 具体的には、たとえば、目的の文字数で改行コードを挿入するマクロAと、引用符を文頭につけるマクロBを、まとめて、A->B と一気に実行させるマクロCのようなものを登録したいのです。 よろしくお願いいたします。

  • 秀丸マクロについて

    秀丸マクロ初心者です。 OS:XP(SP3)、秀丸:7.08を使っています。 テキストファイルのデータをファイルの先頭から一行ずつ 文字列型変数に読み込んでメッセージをだそうとしていますが うまくいきません。 コードのどこが悪いのか、もしくはもっと簡単にできるやり方などあれば 教えて頂けないでしょうか。 ■コード gofiletop; while (code != eof) { golineend; #end = x; golinetop; $str = gettext(x,y,#end,0); message $str; down; } endmacro;

  • 秀丸のマクロ:こんなの作れますでしょうか?

    秀丸エディタv3.08(レジスト済)で、次のようなマクロを作りたいです.秀丸マクロ作成の経験はありませんが、C言語の経験が数年あります. - DOS上のバッチファイル mybatch.bat を呼び出すと、次のようなことをして欲しいと考えています - mybatch.batの中身は一行で、こんなイメージです.  hidemaru.exe tmp.txt /x a.mac - 更に a.macの中身はというと次のような作業をして欲しいのですが  (1) 立ち上がったら、いきなり、全選択(Ctrl-A) (2) クリップボードに(事前に入れておいた)データをいきなり貼り付け(Ctrl-V) (3) ファイルを、いきなり(上書き)保存 (4) いきなり終了させる. ヘルプを見たのですが、いまいちよく解りませんです(;_;). もしかして上のようなことは、できないのかな、と思ってしまいます. 秀丸のマクロを書くのは初めてで、さっぱり解りません.この領域に、詳しいかたどうぞ教えてください.よろしくお願いします. -------------------------------------------------------------- なお、もし(4)が不可能な場合は、秀丸を終了させないで置くつもりです. この場合は、次のことが知りたいです.  知りたいこと:「今さっきまで(1)(2)(3)等のような操作を受けてactiveだったが今は非activeの状態にされてしまった秀丸が一つだけあるとした場合、DOS窓からどのようなコマンドをうつと、その秀丸をactiveにできるか」を知りたいです. よろしくお願いしまうす.

  • 【秀丸マクロ】IFの使い方

    秀丸マクロでの、IFの使い方が分かりません…。 秀丸でCSVデータの編集をしています。 "文字列1","文字列2","文字列3","文字列4","文字列5", のうち、文字列4だけを見て、条件に合致するものは『行ごと』削除したいんです。 調べて調べて、やっとこ↓までは書いたのですが、 gofiletop; while( code != eof ){ searchdown "^\"((.*?)\",){4}\"(.*?)\"(?\\1)"; deleteline; } IFがないので、これではぜーんぶ消えてしまいます。(苦笑) IFをどういった方法で追加すればよいのか、教えてください。 よろしくお願いします。

  • 秀丸の置換

    いつもお世話になっています。 秀丸の置換でいろいろ検索したのですが、どうしても わからなくて質問させていただいています。 というか、私のやりたいことができるのかどうかも 不安なところなのですが・・・・(汗) 添付の画像のように2行の空白の改行の後に文章がはじまります。 その文章の始まりに●を入れたいのですが、マクロか置換で やり方はあるでしょうか?

  • 秀丸エディタで改行を削除するマクロ

    秀丸エディタであるファイルを開いています。 ファイル形式はテキストです。 このファイルの改行を全て削除して、改行なしのファイルに変換したいのですが、そのようなマクロはどこかに存在しないでしょうか? ちなみにファイルサイズが大きいので、私が発見したマクロではファイルサイズが大きすぎてつかえませんでした。 どうかよろしくお願い致します。

  • 秀丸マクロ ファイルのパス取得方法

    秀丸マクロでファイルのパスを取得する方法を教えてください。 filenameでフルパスを取得できるのは分かったのですが、ファイル名の無いパスを取得したいです。 filenameからbasenameを使って、ファイル名の部分を消す方法で出来ればと思ったのですが、マクロ内の文字列変数の置換方法が分かりませんでした。 すみませんがよろしくお願いします。

  • 秀丸で改行コード"[CR]"を変換する方法は?

    秀丸で改行コード"[CR]"を変換する方法は? "[CR]"が入っているテキストファイルがあり、 このテキストファイルを秀丸で開いたところ、そのまま"[CR]"と表示されてしまいます。 これは改行コードなので、秀丸内で"[CR]"と表示されずにきちんと改行されるようにしたいのですが、 どうすれば良いでしょう。 ちなみに置換で 置換前に"[CR]" 置換後に"¥n"、正規表現にチェックを入れて置換したところ、 CRだけが改行に置き換わり"[]"だけが文中に残ってしまいました。 よろしくお願いいたします。

  • 秀丸でテキストが綺麗に表示されません

    秀丸にcsvファイルを読み込ませましたが 半角80文字で改行されてしまい 非常に見えづらい文章になってしまいます メモ帳ではどこまでも横に伸びるのですが… また、文字も非常に大きいので 小さくする方法を教えてください よろしくお願いします

専門家に質問してみよう