找回密码
 立即注册
搜索
查看: 5533|回复: 3
打印 上一主题 下一主题
收起左侧

[求助] 求对一个EmEditor 宏 精简,求高手啊

[复制链接]

玄铁会员 - 等级≥主簿

跳转到指定楼层
楼主
发表于 2012-12-7 00:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求一个EmEditor 宏
拿别人的剪切的的精简代码
现在想不要弹菜单,直接点击运行,求精简




不要弹菜单,直接运行!


代码:
menu= CreatePopupMenu();

[/table]
if (document.selection.isempty)
nFlags=eeFindNext eeReplaceAll eeFindReplaceRegExp;
else
nFlags=eeFindNext eeReplaceSelOnly eeReplaceAll eeFindReplaceRegExp;
menu.Add( "半角标点→全角", 1);
result = menu.Track( 0 );
if (result>40) nFlags=nFlags=eeFindNext eeReplaceAll eeFindReplaceRegExp;
switch(result){
case 1: //半角标点符号 → 全角标点符号
//alert( "引号部分的转换可能存在错误,脚本运行完毕后,会以绿色标示出来,请手动修改。");
//        document.selection.Replace(",",",",eeFindNext eeReplaceAll);
//        document.selection.Replace(".","。",eeFindNext eeReplaceAll);
document.selection.Replace("([0-9]),([0-9]{3})","\\1,\\2",nFlags);
document.selection.Replace("([0-9])。([0-9])","\\1\\.\\2",nFlags);
document.selection.Replace("?","?",eeFindNext eeReplaceAll);
document.selection.Replace("!","!",eeFindNext eeReplaceAll);
document.selection.Replace(":",":",eeFindNext eeReplaceAll);
document.selection.Replace(";",";",eeFindNext eeReplaceAll);
document.selection.Replace("(","(",eeFindNext eeReplaceAll);
document.selection.Replace(")",")",eeFindNext eeReplaceAll);
document.selection.Replace("┅","…",eeFindNext eeReplaceAll);
document.selection.Replace("@","@",eeFindNext eeReplaceAll);
document.selection.Replace("#","#",eeFindNext eeReplaceAll);
document.selection.Replace("%","%",eeFindNext eeReplaceAll);
//        document.selection.Replace("<","《",eeFindNext eeReplaceAll);
//        document.selection.Replace(">","》",eeFindNext eeReplaceAll);
//        document.selection.Replace("<","《",eeFindNext eeReplaceAll);
//        document.selection.Replace(">","》",eeFindNext eeReplaceAll);
document.selection.Replace("~","~",eeFindNext eeReplaceAll);
document.selection.Replace("^","^",eeFindNext eeReplaceAll);
document.selection.Replace("&","&",eeFindNext eeReplaceAll);
[table=100%,#f2f2f2]                        document.selection.Replace("([: ])\x22","\\1“",eeFindNext eeReplaceAll)//x22为引号

document.selection.Replace("(。…)\x22","\\1”",eeFindNext eeFindReplaceEscSeq eeReplaceAll eeFindReplaceRegExp);

document.selection.Replace("\x22$","”",eeFindNext eeFindReplaceEscSeq eeReplaceAll eeFindReplaceRegExp);

document.selection.Replace("\x22","“",eeFindNext eeReplaceAll);

document.selection.Replace("“([^”]*)$\
^\\s*([^“]*)”","“\\1\\2”",nFlags);

document.selection.Find("“[^”]*“”[^“]*”^[^“]*”“[^”]*$‘[^’]*$^[^‘]*'‘[^’]*‘’[^‘]*’",eeFindNext eeFindReplaceRegExp);

break;

default:

}


插件设计:zasq.net

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

俺下过您的E书了,谢谢啦 。。。查看更多↓

晓月黄昏 该用户已被删除
沙发
发表于 2012-12-7 01:42 | 只看该作者
var nFlags = eeFindNext eeReplaceAll eeFindReplaceRegExp;

document.selection.Replace(",",",",eeFindNext eeReplaceAll);//表示数量时应用半角,如$1,000,000。下一个语句做出了修改
   document.selection.Replace("([0-9]),([0-9]{3})","
\\\\1,\\\\2",nFlags
);

document.selection.Replace("([0-9])。([0-9])","
\\\\1\\\\.\\\\2",nFlags
);
   document.selection.Replace("?","?",eeFindNext eeReplaceAll);//此处替换可能会有错
   document.selection.Replace("!","!",eeFindNext eeReplaceAll);

document.selection.Replace(":",":",eeFindNext eeReplaceAll);//表示时刻时应用半角,如9:00,下一个语句做出了修改
   document.selection.Replace("([0-9]):([0-9])","
\\\\1:\\\\2",nFlags
);

document.selection.Replace(";",";",eeFindNext eeReplaceAll);
   document.selection.Replace("(","(",eeFindNext eeReplaceAll);
   document.selection.Replace(")",")",eeFindNext eeReplaceAll);
   document.selection.Replace("~","~",eeFindNext eeReplaceAll);

//引号部分的转换可能存在错误,脚本运行完毕后,会以绿色标示出来,请手动修改。
   document.selection.Replace("([: ])\\x22","
\\\\1“",eeFindNext
eeReplaceAll)//x22为引号
   document.selection.Replace("(。…)\\x22","
\\\\1”",eeFindNext
eeFindReplaceEscSeq eeReplaceAll eeFindReplaceRegExp);
   document.selection.Replace("\\x22$","”",eeFindNext eeFindReplaceEscSeq eeReplaceAll eeFindReplaceRegExp);
   document.selection.Replace("\\x22","“",eeFindNext eeReplaceAll);
   document.selection.Replace("“([^”]*)$\\\
^\\\\s*([^“]*)”","“\\\\1\\\\2”",nFlags);
   document.selection.Find("“[^”]*“”[^“]*”^[^“]*”“[^”]*$‘[^’]*$^[^‘]*'‘[^’]*‘’[^‘]*’",eeFindNext eeFindReplaceRegExp);



你的脚本有些替换是不科学的,把内容稍微删减了下,另将一些建议添加进了注释。

那个替换引号的语句感觉没写的必要,这个功能很难完全靠脚本很保险地实现,不过没有删。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

g372145 该用户已被删除
板凳
发表于 2012-12-7 09:33 | 只看该作者
偶只能说:关注一下了
回复 支持 反对

使用道具 举报

玄铁会员 - 等级≥主簿

地板
 楼主| 发表于 2012-12-7 11:30 | 只看该作者

回 1楼(晓月黄昏) 的帖子

真心谢了,我觉得现在好用多了哈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋| ( Q群816270601 )

GMT+8, 2024-11-27 08:02 , Processed in 1.762610 second(s), 48 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表