午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

EmEditor 的搜索提取宏

 ZackEdge 2014-12-03

EmEditor 的搜索提取宏

1、將最下文本保存為 EmCommnMarco.jsee;

 

2、 宏-〉自定義-〉新建-〉選擇 EmCommnMarco.jsee;

image

image 

image

 

3、宏-〉設(shè)置為當(dāng)前宏

image

 

4、按下F4就運(yùn)行宏了

image

 

 

 

 

 

/**
* 根據(jù)輸入的正則表達(dá)式,提取與之匹配的字符串,并新建一個(gè)文檔顯示所有匹配的字符串,
* 顯示時(shí)每個(gè)匹配項(xiàng)占一行
*
* @author Guapo
* @version v1.0
*/
function getText()
{
    var _regex=prompt("本程序用來提取正則表達(dá)式匹配的字符串,請輸入正則表達(dá)式","");
    if(_regex==""||_regex==null)
    {
        alert("輸入為空,請重新輸入");
        return;
    }
    var regex=new RegExp(_regex,"gim");
    document.selection.SelectAll();
    var textInCurrentDocument=document.selection.Text;
    var matchResultArray=textInCurrentDocument.match(regex);
    if(matchResultArray)
    {
        var len=matchResultArray.length;
        editor.NewFile();
        for(var i=0;i<len;i++)
        {
            document.writeln(matchResultArray[i]);
        }
    }
    else
    {
        alert("沒有找到匹配的字符串");
    }
}

/**
* 拷貝正在編輯的文檔的完整路徑(含文件名和擴(kuò)展名)到剪貼板
*
* @author Guapo
* @version v1.0
*/
function copyFullName()
{
    if(document.Saved)
    {
        document.CopyFullName();
    }
    else
    {
        alert("請保存文件后再執(zhí)行此命令");
    }
}

/**
* 拷貝正在編輯的文檔的路徑(不含文件名和擴(kuò)展名)到剪貼板
*
* @author Guapo
* @version v1.0
*/
function copyPath()
{
    if(document.Saved)
    {
        document.CopyPath();
    }
    else
    {
        alert("請保存文件后再執(zhí)行此命令");
    }
}

/**
* 刪除當(dāng)前正在編輯文檔的行首的所有空格(包含Tab鍵)
*
* @author Guapo
* @version v1.0
*/
function deleteLineStartBlank()
{
    document.selection.Replace("^\\s*","",eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
}

/**
* 刪除當(dāng)前正在編輯文檔的行尾的所有空格(包含Tab鍵)
*
* @author Guapo
* @version v1.0
*/
function deleteLineEndBlank()
{
    document.selection.Replace("\\s*$","",eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
}

/**
* 為當(dāng)前正在編輯文檔的每一行的行首添加n個(gè)空格
*
* @author Guapo
* @version v1.0
*/
function addBlank2LineStart()
{
    var string_n=prompt("請問您要給行首添加幾個(gè)空格呢?","1");
    if(isN(string_n))
    {
        var s="";
        var int_n=parseInt(string_n);
        for(var i=0;i<int_n;i++)
        {
            s+=" ";
        }
        s+="\\0";
        document.selection.Replace("^.",s,eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
        document.HighlightFind=false;
        return;
    }
    else
    {
        alert("您輸入的不正確,請重新輸入");
    }
}

/**
* 為當(dāng)前正在編輯文檔的每一行的行尾添加n個(gè)空格
*
* @author Guapo
* @version v1.0
*/
function addBlank2LineEnd()
{
    var string_n=prompt("請問您要給行尾添加幾個(gè)空格呢?","1");
    if(isN(string_n))
    {
        var s="";
        s+="\\0";
        var int_n=parseInt(string_n);
        for(var i=0;i<int_n;i++)
        {
            s+=" ";
        }
        document.selection.Replace(".$",s,eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
        document.HighlightFind=false;
        return;
    }
    else
    {
        alert("您輸入的不正確,請重新輸入");
        return;
    }
}

/**
* 將當(dāng)前正在編輯文檔中的所有>=兩個(gè)的相連空格替換成一個(gè),只支持英文半角空格
*
* @author Guapo
* @version v1.0
*/
function replace2MoreBlank()
{
    document.selection.Replace(" {2,}"," ",eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
}

/**
* 將當(dāng)前正在編輯文檔中的所有>=兩個(gè)的相連空行替換成一個(gè)
*
* @author Guapo
* @version v1.0
*/
function replace2MoreNewLine()
{
    return;
}

/**
* 為當(dāng)前正在編輯文檔中的所有行的行首添加特定的字符串
*
* @author Guapo
* @version v1.0
*/
function addString2LineStart()
{
    var s=prompt("請問您要在行首添加什么字符串呢?","在這里輸入要添加的字符串");
    if(s==""||s==null)
    {
        return;
    }
    var t="\\0";
    document.selection.Replace("(^.)|(^\\n)",s+t,eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
    document.HighlightFind=false;
}

/**
* 為當(dāng)前正在編輯文檔中的所有行的行尾添加特定的字符串
*
* @author Guapo
* @version v1.0
*/
function addString2LineEnd()
{
    var s=prompt("請問您要在行尾添加什么字符串呢?","在這里輸入要添加的字符串");
    if(s==""||s==null)
    {
        return;
    }
    var t="\\0";
    document.selection.Replace("(.$)|(^\\n$)",t+s,eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
    document.HighlightFind=false;
}

function isN(s)
{
    if(s==null||s=="")
    {
        return false;
    }
    var array=s.match(/\d+/);
    if(array)
    {
        if(s==array[0])
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    else
    {
        return false;
    }
}

mainMenu=CreatePopupMenu();

mainMenu.Add("拷貝路徑(不含文件名)",1);
mainMenu.Add("拷貝完整路徑(含文件名)",2);
mainMenu.Add( "", 0, eeMenuSeparator );
mainMenu.Add("利用正則表達(dá)式提取字符串",3);
mainMenu.Add( "", 0, eeMenuSeparator );
mainMenu.Add("刪除行首所有空格",4);
mainMenu.Add("刪除行尾所有空格",5);
mainMenu.Add("行首添加n個(gè)空格",6);
mainMenu.Add("行尾添加n個(gè)空格",7);
mainMenu.Add( "", 0, eeMenuSeparator );
mainMenu.Add("將>=兩個(gè)的相連空格替換成一個(gè)",8);
mainMenu.Add("將>=兩個(gè)的相連空行替換成一行",9);
mainMenu.Add( "", 0, eeMenuSeparator );
mainMenu.Add("在行首添加特定的字符串",10);
mainMenu.Add("在行尾添加特定的字符串",11);
mainMenu.Add( "", 0, eeMenuSeparator );
mainMenu.Add("關(guān)于",100);
var witchItem=mainMenu.Track();

switch(witchItem)
{
    case 1:
        copyPath();
        break;
    case 2:
        copyFullName()
        break;
    case 3:
        getText();
        break;
    case 4:
        deleteLineStartBlank();
        break;
    case 5:
        deleteLineEndBlank();
        break;
    case 6:
        addBlank2LineStart();
        break;
    case 7:
        addBlank2LineEnd();
        break;
    case 8:
        replace2MoreBlank();
        break;
    case 9:
        replace2MoreNewLine();
        break;
    case 10:
        addString2LineStart();
        break;
    case 11:
        addString2LineEnd();
        break;
    case 100:
        alert("Author:Guapo\nEmail:yangshuai@gmail.com");
        break;
    default:
        break;
}

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多