• ベストアンサー

秀丸で、1行目と2行目を入れ替える。

秀丸で、1行目と2行目、3行目と4行目(以下、同様に5行目と6行目・・・と続く)を入れ替える方法を教えて頂けませんか。以前、同様の質問があったと思いますが、検索をかけても出てきません。 [データ例] これはペンです。 This is a pen. これもペンです。 This is also a pen. これはペンですか。 Is this a pen? 但し、奇数行は日本語とは限りませんし、偶数行も英語とは限りません。 お願いします。

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

  • ベストアンサー
  • Bo_Bo
  • ベストアンサー率65% (97/149)
回答No.4

ANo.#3 の Bo_Bo です。 ANo.#3 のマクロでは、エラーになる場合があります。 使用されるのであれば、差し替えをお願いします。 手順は ANo.#3 と同じです。 -- ▼マクロは次の行から▼ --------------- // 奇数行と偶数行を入れ替える disabledraw; gofiletop; while(code != eof) {  if(lineno == linecount2) break; // この一行を追加  beginsel;  movetolineno 1, lineno + 1;  if(code == eof && lineno % 2 == 0)  {   escape;   break;  }  cut;  if(lineno == linecount2)  {   golineend2;   insert "\n";   paste;   break;  }  movetolineno 1, lineno + 1;  paste; } gofiletop; enabledraw; endmacro; -- ▲上の行まで▲ -----------------------

ykazuo
質問者

お礼

うまくいきました。(^^) 今後も使う機会がいつあるか分からないので、このマクロ、大切に保存しておきたいと思います。 Bo_Boさん、お忙しい中、本当にありがとうございました。

その他の回答 (3)

  • Bo_Bo
  • ベストアンサー率65% (97/149)
回答No.3

下記のマクロで、奇数行と偶数行を入れ替えることが出来ますが、どうでしょうか。 【マクロ実行までの手順】 (1). 下記のマクロをコピーして新規秀丸に貼り付けます。 (2). メニューの「検索」→「置換」を選択し、     検索欄 => 全角空白1個     置換欄 => 半角空白4個    を入力して、「全置換」を実行します。    (全角空白があるとマクロがエラーとなります) (3). 拡張子を mac として任意の名前(例:reshuffle.mac)を付け、「マクロ    ファイル用のフォルダ」に保存します。    ※「マクロファイル用のフォルダ」を設定してない場合は、秀丸をインス    トールしたフォルダに、設定してある場合は、そのフォルダに保存してく    ださい。 (4). 処理対象のファイルを開いて、メニューから「マクロ」→「マクロ実行」    を選択して、(3)で保存したマクロを指定して実行してください。 ※保存したはずのマクロが見つからない、マクロを実行したらエラーが出たと言う場合は、補足を付けてください。 ※編集後のファイルは念のため別名で保存して、データが飛んでいないか等、確認してください。 -- ▼マクロは次の行から▼ --------------- // 奇数行と偶数行を入れ替える disabledraw; gofiletop; while(code != eof) {  beginsel;  movetolineno 1, lineno + 1;  if(code == eof && lineno % 2 == 0)  {   escape;   break;  }  cut;  if(lineno == linecount2)  {   golineend2;   insert "\n";   paste;   break;  }  movetolineno 1, lineno + 1;  paste; } gofiletop; enabledraw; endmacro; -- ▲上の行まで▲ ----------------------- 【蛇足】  秀丸の話題なら秀丸のサポート・フォーラムが迅速且つ、親切丁寧に対応してくれます。  私などより数段上級のユーザーが居られますので、一度覗いて見ることをお勧めします。

  • Reffy
  • ベストアンサー率32% (1317/4014)
回答No.2

マクロ設定までするほどの量じゃなかったら、ただ文頭で左クリックして行全体を反転させてから、そのまま持っていきたいさきにカーソルを移動してぱっと放せばその位置に移動しますけど? チャットなどのログ整理で一つが一行では収まらなかったときに、私はこうやっています。

ykazuo
質問者

お礼

Reffyさんありがとうございました。 これもいいアイデアですね。今回は、データ量が多いので、マクロでやらないとしんどいです。一度、二度の処理ならこれ使わせてもらいます。ありがとうございました。

回答No.1

マクロを使用すれば簡単です。 ・1行目の先頭にカーソルを置き、SHIFT+F1を押す。  (ウィンドウ上の青い部分に、「記憶中!」と出る) ・1行目を選択(SHIFT+↓)。 ・切り取り(CTRL+x) ・2行目と3行目の間に貼り付け。  (1度↓を押し、CTRL+v) ・SHIFT+F1を押す。  (「記憶中!」が消える。) これでマクロの登録は終了です。 そのまま、SHIFT+F2を押しつづけると、以降もこの処理をおこなってくれますよ。

ykazuo
質問者

お礼

asdfldfnjsvfsさんありがとうございました。 いいアイデアですね。ただ、行頭から改行までが2行に渡る文で失敗しました。それと、データ量が多いので、一度の実行でやってくれないとしんどいです。ちょっとした処理ならこれ使わせてもらいます。ありがとうございました。

関連するQ&A