|
次/前の比較結果で一周できる機能もあったらいいということで、ご意見参考にさせ
ていただきます。
現状でやるとしたら、マクロでやる方法が考えられます。
以下のマクロをマクロ登録して、例えばF4とShift+F4に割り当てるといいです。
//次の比較結果(一周する)
#x=x;
#y=y;
nextresult 0x0001;
if(x==#x&&y==#y){
gofiletop;
nextresult 0x0001;
}
endmacro;
//前の比較結果(一周する)
#x=x;
#y=y;
prevresult 0x0001;
if(x==#x&&y==#y){
gofileend;
prevresult 0x0001;
}
endmacro;
作り込んだハイライトというのがどういうものかわからないですが、比較結果のカ
ラーマーカーが付いたもので、対応するものとして判断されているものをコピーする
マクロを試しに作ってみました。
やってみたところでは、空白が無視する指定にしていると都合が悪いのと、同じとみ
なされているものが自分が考えているものと違う場合もあるので、どうしても人の目
でよく注意する必要がありそうでした。
//カーソル位置の比較結果の強調を相手にコピー
if(compfilehandle==0){
message "比較結果の相手が無いです";
endmacro;
}
#id=val("0x"+getcolormarker(0x0008,diff));
if(#id==0){
#id=val("0x"+getcolormarker(0x0008|0x0040,diff));
}
while(1){
if(#id==0){
break;
}
prevcolormarker 0x01|0x04|0x08,#id,diff;
beginsel;
nextcolormarker 0x02|0x04|0x08,#id,diff;
endsel;
copy;
#handle1 = hidemaruhandle(0);
#handle2 = compfilehandle;
setactivehidemaru #handle2;
if(hidemaruhandle(0)!=#handle2){
message "比較結果の相手が見つかりません";
break;
}
prevcolormarker 0x01|0x04|0x08,#id,diff;
if(result==false){
nextcolormarker 0x01|0x04|0x08,#id,diff;
if(result==false){
message "対応する比較結果がありません";
setactivehidemaru #handle1;
break;
}
}
beginsel;
nextcolormarker 0x02|0x04|0x08,#id,diff;
endsel;
delete;
paste;
setactivehidemaru #handle1;
break;
}
endmacro;
|
|