検索後のカーソルの移動No.36349
やんしー さん 18/02/17 09:11
 
翻訳で秀丸を使用しており、ある単語を別の言語の単語に一括置換して変換すること
がよくあります。その際、検索後のカーソルの位置が「最後に検索された単語を置換
した位置」にあります。そのため、毎回、「最初に検索された単語を置換した位置」
までカーソルをもどす必要があり、手間に感じています。
検索後、自動的に「最初に検索された単語を置換した位置」にカーソルがもどる方法
があれば、教えていただけないでしょうか?

よろしくお願いいたします。

[ ]
RE:36349 検索後のカーソルの移動No.36350
山紫水明 さん 18/02/18 17:51
 
 やんしーさん,

>検索後、自動的に「最初に検索された単語を置換した位置」にカーソルがもど
>る方法があれば、教えていただけないでしょうか?

 多分もっとスマートな方法がありそうですが,とりあえず次のマクロを実行し
てみてください。

// ---------------------------------------------------------------
begingroupundo;
message "このマクロでは全置換の時も「下検索」を実行してください。";
replace;
if( !result ) {
    message "置換はありませんでした。";
    endmacro;
}
#x = x; #y = y;
replaceallfast searchbuffer, replacebuffer, searchoption;
#r = result;
message str(#r + 1) + " 個の置換を行いました。";
endgroupundo;
moveto #x, #y;
endmacro;
// ---------------------------------------------------------------

                    山紫水明
                    SANSHISUIMEI

[ ]
RE:36350 検索後のカーソルの移動No.36351
秀丸担当 さん 18/02/19 09:56
 

現状で似た目的の操作として、検索メニューに「検索開始位置へ戻る」がありますが、
これは全置換は影響がありませんでした。
「検索開始位置へ戻る」ができるようになったらいいと思います。

現状でやるとしたら、山紫水明さんのマクロがいいと思います。

簡単にやるとしたら、マークしてから全置換して、マークしていた場所に移動すると
簡単だと思います。
マークはキー割り当てで、カーソル移動系にある「現在行のマーク/マーク解除」
「マーク行の上検索」「マーク行の下検索」を割り当てておくと操作がしやすいです。

----

最初に書いた「検索開始位置へ戻る」を今後できるようにする場合、互換性が心配で
すが、もともと編集後に行や桁がずれたら「検索開始位置へ戻る」もずれるという性
質があるので、全置換で検索開始位置が書き換えられても問題にはならなさそうです。
無いよりかはあったほうがよく、互換性として問題にはならないと思うので、今後の
バージョンで対応したいと思います。
ただ全置換ででも対応するとして、置換する文字列によっては行や桁はずれる場合が
あることになると思います。

[ ]
RE:36350 検索後のカーソルの移動No.36352
やんしー さん 18/02/19 10:42
 
山紫水明様

いつもコメントいただき、ありがとうございます。
マクロ、試してみます。


[ ]