ファイルを比較後、色付けされた行を抜きNo.39225
styth さん 21/09/27 22:47
 
 2つのファイルを比較した時に、色付けされますが、色付けされた行だけ抜き
出すことは可能でしょうか?
 GREPみたいな機能があると良いんですが、よろしくお願いいたします。
 無ければ、マクロでできませんでしょうか?

[ ]
RE:39225 ファイルを比較後、色付けされたNo.39226
秀丸担当 さん 21/09/28 09:11
 

色付けされた行はカラーマーカーになっていて、マクロでカラーマーカーを選択する
ことで可能です。
レイヤー名でdiffというキーワードで表されるものになっています。
selectcolormarker diff;とすると、比較の色付けの部分が選択されます。
全部行単位にするとしたら、selectline 1;でできますが、複数選択対応として動作
させるにはsetcompatiblemode 0x00100000;としておく必要があるので、以下のよう
な感じになります。

setcompatiblemode 0x00100000;
selectcolormarker diff;
selectline 1;

これをコピーとかするといいと思います。

[ ]
RE:39226 ファイルを比較後、色付けされたNo.39227
styth さん 21/09/28 09:46
 
 ありがとうございます。できました。
 ところで、比較中のファイルかどうか見分けるには、どう書けば良いんでしょうか?
 マクロで認識したいのですが、よろしくお願いいたします。

[ ]
RE:39227 ファイルを比較後、色付けされたNo.39228
styth さん 21/09/28 12:27
 
if ( compfilehandle == 0 ) {
 message "比較中のファイルではありません。";

 見つけました。
 多分、これで行けそうです。

[ ]
RE:39228 ファイルを比較後、色付けされたNo.39229
秀丸担当 さん 21/09/28 14:54
 

比較している状態かどうかは、既に試されている通り、compfilehandleで判断できま
す。

他には、比較のカラーマーカーが存在するかどうかでは、escase; selectcolormarke
r diff;として選択してから、if(selecting)で選択状態になっているかどうかでも判
断できると思います。

[ ]