本文链接:http://oicu.cc.blog.163.com/blog/static/123039471200962923055612/
憋足的秀丸内置函数,没有trim,更没有找到字符串替换,就只能用这原始的方法来实
现功能了。要是换了EmEditor还可以用vb,真麻烦……不过各有优势吧,我就更喜欢秀丸这
种宏风格,命令简洁,而且一看就知道是什么意思。
更新了一下,原来那个版本就撤掉了。。。
//-------------------------------------------------------------
// FileName: CompareStartEnd.mac
// Author : oicu#lsxk.org
// DateTime: 2009/09/02 A.M. 00:05
// Version : 2.0
// Info : Support long format
//-------------------------------------------------------------
hilightfound 0;
$check1 = gettext2( 0, 3, 9, 3, 1 );
if ( $check1 == "G91M03D01" ) {
$name1 = leftstr(basename2,strlen(basename2)-strlen(filetype));
if ( leftstr( $name1, 1 ) != "O" ) {
$name1 = "O" + $name1;
}
movetolineno 1, 2;
$name2 = gettext2( 0, 2, linelen2, 2, 1 );
while ( 1 ) {
if ( rightstr( $name2, 1 ) != " " ) break;
$name2 = leftstr( $name2, strlen( $name2 ) - 1 );
}
#len[1] = strlen( $name2 );
#i = 0;
while( #i < #len[1] ) {
$temp = midstr( $name2, #i, 1 );
if ( $temp == "(" || $temp == ")" ) {
$name3 = $name3 + "\\" + $temp;
} else {
$name3 = $name3 + $temp;
}
#i = #i + 1;
}
movetolineno 1, 4;
$check2 = gettext2( 0, 4, 3, 4, 1 );
if ( $check2 == "G91" ) {
$s1 = gettext2( 6, 4, linelen2, 4, 1 );
} else if ( $check2 == "G00" ) {
$s1 = gettext2( 3, 4, linelen2, 4, 1 );
}
#line = linecount2 - 3;
movetolineno 1, #line;
$s2 = gettext2( 0, #line, linelen2, #line, 1 );
#len[2] = strlen( $s1 );
#i = 0;
while( #i < #len[2] ) {
$tmp[#i] = midstr( $s1, #i, 1 );
#i = #i + 1;
}
#i = 0;
while( #i < #len[2] ) {
if ( $tmp[#i] == "X" || $tmp[#i] == "Y" ) {
if ( $tmp[#i+1] != "-" ) {
$s3 = $s3 + $tmp[#i] + "-";
} else {
$s3 = $s3 + $tmp[#i];
}
} else if ( $tmp[#i] != "-" && $tmp[#i] != " " ) {
$s3 = $s3 + $tmp[#i];
}
#i = #i + 1;
}
$s4 = $s2;
while ( 1 ) {
if ( rightstr( $s4, 1 ) != " " ) break;
$s4 = leftstr( $s4, strlen( $s4 ) - 1 );
}
if ( $s3 != $s4 ) {
if ( $name1 != $name2 ) {
$find = $s1 + "\|" + $s2 + "\|" + $name3;
} else {
$find = $s1 + "\|" + $s2;
}
gofiletop;
searchdown $find, regular, nocasesense, hilight;
} else if ( $name1 != $name2 && $name2 != "" ) {
gofiletop;
searchdown $name3, regular, nocasesense, hilight;
}
if ( #len[1] < 2 ) {
message "No. is empty!";
}
gofiletop;
}
endmacro;
评论