• ベストアンサー

秀丸で、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

  • 秀丸の正規表現(1バイト文字,2バイト文字の表現)

    「英文-日本文」がセットになったデータがあります。これを英文と日本文の間で切り分けたいと思っています。Perlなどを使えばより簡単かもしれませんが、Perlはあまり知らないので、秀丸の正規表現でやりたいと思っています。そこで、1バイト文字、2バイト文字の表現の仕方が必要になってくると思うのですが、どう書いたらいいのでしょうか。 (参考データ) This is a pen. これはペンです。 を This is a pen. /// これはペンです。 のようにしたいです。

  • 英語ができる人の脳みそ

    日本人が日本語を話すとき思ったことをそのまま話すことができると思うのですが日本人で英語ができる人って話すとき頭の中に英語の文法がそのままでてくるんでしょうか? 言ってること意味わからないかも知れませんが例えばペンを見て「これはペンです」って話そうとするとき頭の中に日本語で(これはペンです)という文が出てそれを(THIS IS A PEN)と直してから話すのか最初からペンを見て「THIS IS A PEN」という言葉になるのでしょうか?

  • 秀丸マクロについて質問です。

    秀丸マクロについて質問です。 秀丸で編集されたテキスト文書の中でabcdefgという文字列がある行を検索し、 その行情報を取得し、その行の隣にある文字列(下記の例では123456)を返す にはどのようにすればよいでしょうか? ご回答よろしくお願いします。 (例) 567行目に以下の文があるとします。 abcdefg,123456,goukaku

  • 秀丸で行を文字数で並び替えしたい

    秀丸で行を文字数で並び替えしたいです。 例えば、 123 あいうえおか a ・ ・ ・ これを 文字数ごとに並び替えたいです。 a 123 あいうえ 宜しくお願いします。 テキストファイルですが、かなりデータ数が重いです。 秀丸で難しい場合には、何かソフトウェアなどを教えてもらえると 嬉しいです。Excelではファイル数が大きすぎて無理でした。

  • 改行コードだけの行が現れるまでを1行として取得

    PHPでインプットファイルから、 改行コードだけの行が現れるまでを1行として取得しようと思っています。 下記例のように、 fgetsで行を取得しようとしたら、 改行が現れた時点までを1行としてしまうので、 少し違った1行の取得となってしまいました。 どうすればPHPで実現できるのか教えて欲しいです。 【例】 this is a pen. good-bye. ↓ this is a pen.good-bye. を1行分として取得したい。 # PHP 5.3.9 # CentOS 5.8 ---- $inputpath = '/home/test/test.txt'; $file = fopen($inputpath,"r") or die("open error $inputpath"); flock($file,LOCK_SH); while (!feof($file)){ $string = fgets($file,10000); print "$string"; print "\n"; } //relese the lock flock($file, LOCK_UN); //close the file fclose($file); ----

    • ベストアンサー
    • PHP
  • StringTokenizerで連続するデリミタ

    よろしくお願いします。 今、半角スペース(デリミタ)で区切られたデータファイルから、 データを読み込むプログラムをStringTokenizer作ったのですが、 対象のデータがない時はデリミタ続きでファイルが作成されるので、 StringTokenizerではデリミタが連続してしまったものを飛ばして次のデータを読み込んでしまいます、 デリミタが続いても1つのデータとして取り出す方法はないでしょうか、 教えてください。 例)「this is a pen」 『a』と『pen』間に半角スペースが2個は入っていると、 this is a pen = StringTokenizer(str," ") => [this] [is] [a] [pen] と取って来てしまいますが、 実現したいのは 「this is a pen」なら[this] [is] [a] [] [pen]と『a』と『pen』間のデリミタ続きも1データとして認識してほしいのです。 よろしくお願いします。

  • 秀丸エディタ

    秀丸エディタのテキスト文で、REPLACE機能を使って、テキスト中の 行と行の間の改行を消し詰めるにはどうするかお教えください。 (例) 1行(a行) 改行 1行(b行) 改行 → 1行(a行) 1行(b行)

  • 英語の語順

    基礎的なことなのかもしれませんがお願いします。 英語の語順がどう決まるのかが解りません。 「This is a pen」は当然解るのですが、長くなってくると日本語の訳と英語の文の語の順番がごちゃごちゃになって解らなくなってしまします。 何か少し長い例文などでどうやって語の順番を決めているのか教えてください。 できるだけ詳しくお願いします!!

  • 英文法に「名詞文」「形容詞文」はないですよね?

    初歩的すぎて、うまく説明できるか心配ですが、質問させてください。 例えば「This is a pen」を日本語にすると「名詞文」というと思いますし 「This is tasty」を日本語にすると「形容詞文」になるかと思います。 でも英語の「be」は「be動詞」なので、「動詞文」となるのでしょうか。 英語話者に日本語説明をする際に「名詞文(noun sentence)・形容詞文(adjective sentence)」と言っても その言葉自体、何を言っているのか「?」でしょうか。 「This is a pen」「This is tasty」は、英文法的には、どのように称されるのでしょうか。 もし私の理解に誤りがありましたら、ご教示ください。 よろしくお願いします。

  • 単語登録

    やりたいことは、例えば、pen と入力したら、This is a pen. という予め登録した文が出るということです。 IME とか Google 日本語で p と入力すると、This is a pen. と変換するようにすることはできますが、pen を This is a pen. にすることはできません。 なんとかそのようにできる方法はないでしょうか? なにかそのようなソフトでもかまいませんが、なるべく手軽なもののほうがいいです。よろしくお願い致します。

専門家に質問してみよう