行移動・行コピーについてNo.01074
macchaka さん 11/09/08 18:42
 
EclipseやNetbeansなどでは、カーソル行を1行単位で上下に移動したりコピーでき
る機能やショートカットがあるのですが、秀丸では見あたりません。
秀丸どころか、サクラエディタをはじめ、他のエディタでも、搭載されているのを見
たことがありません。
サクラでは、「マクロで実装しよう」といったコンテンツを見かけましたが、今ひと
つ実装しきれていません。

この機能は必要がないと思われているのか、何かしら要因があって実装されていない
のか分かりかねるのですが、それですっかり慣れてしまったため、実装されればなぁ
と思っています。

挙動としてほしいのは
・1行の場合、行選択が不要であること。(カーソルが当該行にあればよい)
・複数行に対応すること。(2行以上選んでいれば、それがかたまりとなって移動・
コピーされること)
・選択範囲が不問であること。(例えば次のような選択になっても、3行が移動・コ
ピー対象になること)
□□□□■■■■
■■■■■■■■
■■■■□□□□
(□未選択、■選択として)

この機能を使うようになるまでは、普通にカット・ペーストとかしていたのですが、
もう無理です(笑)

気付いていないだけならむしろ嬉しいのですが、本体の機能として実装されるという
ことはないでしょうか。

[ ]
RE:01074 行移動・行コピーについてNo.01075
hum さん 11/09/08 19:15
 

>挙動としてほしいのは
>・1行の場合、行選択が不要であること。(カーソルが当該行にあればよい)
>・複数行に対応すること。(2行以上選んでいれば、それがかたまりとなって移動・
>コピーされること) 

    ↑ここだけに反応してコメントします。個人的な運用方法ですので
外しているかも知れないです。だいぶ前(7〜8年前)行コピーについての
マクロを教えてもらった物を、そのまま貼ります。(問題ないですよね?)
要望と違ってましたらごめんなさい。(移動は考慮してませんので...)

// cmdDuplicate.mac
//  行コピー  (2004/03/20)
// ふつうに実行すると行を複写。
// 範囲選択時は選択範囲を複写。
// BOX 選択でも期待どおりに。
setcompatiblemode 0x0F;
if (rectselecting) {
    #x1 = selendx;
    #y1 = seltopy;
    #x2 = selendx + selendx - seltopx;
    #y2 = selendy;
    copy;
    moveto #x1, #y1;
    poppaste;
    moveto #x2, #y2;
    beginrect;
    moveto #x1, #y1;;
    endsel;
} else if (selecting) {
    #x2 = selendx;
    #y2 = selendy;
    $s = gettext(seltopx, seltopy, selendx, selendy);
    moveto #x2, #y2;
    insert $s;
    beginsel;
    moveto #x2, #y2;
    endsel;
} else dupline;

>・>・選択範囲が不問であること。(例えば次のような選択になっても、3行が移
>動・コ
>ピー対象になること)
>□□□□■■■■
>■■■■■■■■
>■■■■□□□□
>(□未選択、■選択として)
>
>この機能を使うようになるまでは、普通にカット・ペーストとかしていたのですが、
>もう無理です(笑)
>
>気付いていないだけならむしろ嬉しいのですが、本体の機能として実装されるという
>ことはないでしょうか。

[ ]
RE:01074 行移動・行コピーについてNo.01076
IKKI さん 11/09/08 20:18
 
macchakaさん、こんにちは。ユーザの IKKI です。

とりあえずマクロで実現するとしたら、こんな感じでできそうです。
http://mobitan.org/hm/misc/#cmdDragLineUp
ご参考までに。

本体への機能追加要望ということですので、追って秀丸担当さんから正式な
お返事があると思います。
秀丸エディタへの要望は通常、2番会議室の方で受け付けているようです。
http://www.maruo.co.jp/hidesoft/2/

秀丸エディタ v8.11β6 + HMJRE.DLL v3.41

[ ]
RE:01076 行移動・行コピーについてNo.01077
hum さん 11/09/09 05:26
 
IKKIさん、こんにちは。
いくつも、IKKIさんのマクロを便利に使わせて頂いていますユーザの hum です。
紹介の仕方・参考の示し方に配慮が足りませんでした。orz
参照元を示さず、勝手に、内容を貼り付けましてすいませんでした。m(_._)m...

>とりあえずマクロで実現するとしたら、こんな感じでできそうです。
>http://mobitan.org/hm/misc/#cmdDragLineUp
>ご参考までに。

[ ]
RE:01076 行移動・行コピーについてNo.01078
秀丸担当 さん 11/09/09 09:50
 

>EclipseやNetbeansなどでは、カーソル行を1行単位で上下に移動したりコピーでき
>る機能やショートカットがあるのですが、秀丸では見あたりません。

秀丸エディタの機能としては確かにないです。
IKKIさん,humさんの言われる通り、現状ではマクロを使うとできると思います。

秀丸エディタのコマンドとしてもあったらいいということで今後のネタにさせて
いただきます。

[ ]
RE:01078 行移動・行コピーについてNo.01079
macchaka さん 11/09/09 21:13
 
色々な情報提供も頂いてありがとうございます。
マクロで実現する方法もあるということで、使ってみようと思いますが、これほど実
装されているエディタが少ない状態なので、採用されると嬉しいなぁと思います。

なお、投稿する場所が違うというご指摘に関しては、大変失礼しました。
開いてみて「トラブルや使い方などを聞く場所」だと認識してしまったので、こちら
だと誤解してしまいました。

[ ]
RE:01079 行移動・行コピーについてNo.01080
山紫水明 さん 11/09/10 10:53
 
 macchakaさん,

 もしかしたら余計なことかもしれませんが。
 1行だけのコピー&貼り付けなら,「挿入」→「行の二重化」というコマンド
があります。これはご存知ですよね。

                          山紫水明(ユーザー)
                          SANSHISUIMEI

[ ]