Linux区


UltraEdit活动脚本技术【百度机器翻译的,留个记号】

百度自动翻译的,没有修改,留个记号,为博客加点料。

小衲再次声明:

本博客的所有原创文章都是个人笔记,疏漏错误在所难免,据此产生的任何后果,本人概不负责【除极个别极个别的捐赠/购买者外】。

原文:UltraEdit/UEStudio Scripting Techniques

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

脚本技术

内置的脚本引擎是一个强大的功能,让您可以自动完成您的文本编辑操作。正如你可以从用户的脚本节中所发布的实例中看到的那样,有很多种方式使用脚本。下面是一些技巧来保持“手头”,可以让你开始使用脚本引擎。

注:有些技术可能需要编程的概念,如变量,如果/然后语句,循环的知识。

创建一个新文件

下面的脚本在编辑器中创建一个新的(空)文件。

UltraEdit.newFile();

写入文件

下面的脚本写入活动文档。

UltraEdit.activeDocument.write("test");

写入输出窗口

下面的脚本写入输出窗口。

UltraEdit.outputWindow.write("Hello World!")

点击这里了解更多关于写入到输出窗口。

选择,复制,粘贴一行

下面的脚本选择活动线然后跳转到该文件的顶部并粘贴。

UltraEdit.activeDocument.selectLine();
UltraEdit.activeDocument.copy();
UltraEdit.activeDocument.top();
UltraEdit.activeDocument.paste();

光标移动和选择

下面的脚本选择光标旁边的一个字,以及下面的行(下面)。

UltraEdit.activeDocument.startSelect();
UltraEdit.activeDocument.key("CTRL+RIGHT ARROW");
UltraEdit.activeDocument.key("DOWN ARROW");
UltraEdit.activeDocument.key("DOWN ARROW");
UltraEdit.activeDocument.endSelect();

把选定的文本转换为变量

这个脚本将选定的文本放在一个叫做文本的变量中。

var text = UltraEdit.activeDocument.selection;

用下划线替换选定文本中的空格

这个脚本将选定的文本放在一个变量中,并用下划线替换所有空格。

输入实例:

Hello world welcome to scripting

转换:

hello_world_welcome_to_scripting

var str = UltraEdit.activeDocument.selection;
str = str.replace(/ /g, "_");

注:“替换”文本的封闭的反斜杠。

将选定的行解析为数组

这个脚本需要选线和解析成一个数组。通知行终止变量被定义为\ '。这可能需要根据您使用的文件类型进行更改。

var lineTerminator = "\r\n";
var str = UltraEdit.activeDocument.selection;
var resultArr = new Array();
resultArr = str.split(lineTerminator);

在将行解析成一个数组之后,可以通过数组循环来执行数组中的每个值的动作。例如,下面的代码将循环通过数组,并将值写入下面的格式的输出窗口中:

Value: [number] "[Text]"

for (var i = 0; i < resultArr.length; i++) {
UltraEdit.outputWindow.write("Value: " + i + " \"" + resultArr[i] + "\"\r\n");
}

追加多行

以下脚本将追加(写入)多行成单行。

如果你有一个文件,如:

abc
123
def
345

它将产生:

abc123def345

var strings; //variable which holds selection
var stringArray = new Array(); //create array to hold string values
var arrayLength = 0; //array length
var lineTerminator = "\r\n"; //line terminator character you may need to change this depending on the file type

//Get user selection
strings = UltraEdit.activeDocument.selection;

//split string at line terminator characters
stringArray = strings.split(lineTerminator);
arrayLength = stringArray.length

for (var x = 0; x < arrayLength; ++x) {
UltraEdit.activeDocument.write(stringArray[x]);
}

查找选定文本

此脚本执行选定文本的搜索。

var text = UltraEdit.activeDocument.selection;
UltraEdit.activeDocument.findReplace.regExp = false;
UltraEdit.activeDocument.findReplace.find(text);

替换文本选择

该脚本将取代所有出现的“作业成本法”与“作业成本法”在一个特定的选择。

UltraEdit.activeDocument.findReplace.regExp=false;
UltraEdit.activeDocument.findReplace.selectText=true;
UltraEdit.activeDocument.findReplace.replaceAll=false;
UltraEdit.activeDocument.findReplace.replace("abc","ABC");

替换选定的文本-定义选择

该脚本类似于上面的脚本,除了它定义了从顶部的选择,通过第四行结束(开始的5行的文件)。

UltraEdit.activeDocument.top();
UltraEdit.activeDocument.gotoLineSelect(5,1);
UltraEdit.activeDocument.findReplace.regExp=false;
UltraEdit.activeDocument.findReplace.selectText=true;
UltraEdit.activeDocument.findReplace.replaceAll=false;
UltraEdit.activeDocument.findReplace.replace("abc","ABC");

替换文件中所有出现字符串

下面的脚本使用UltraEdit查找/替换将具体的实例都在一个文件中查找字符串。用&amp代替这个例子;- HTML实体。

UltraEdit.activeDocument.top();
UltraEdit.activeDocument.findReplace.replaceAll=true;
UltraEdit.activeDocument.findReplace.matchCase=true;
UltraEdit.activeDocument.findReplace.replace("&", "&amp;");

找到特定文本的发生

下面的脚本找到一个给定文件中的文本(“作业成本”)的第三个实例。

var text = "abc";
var x = 3;
UltraEdit.activeDocument.findReplace.regExp = false;
for (i=1;i<=x;++i) {
UltraEdit.activeDocument.findReplace.find(text);
}

注:以上脚本假定至少有3个“作业成本法”的实例。如果文件不包含至少3,您可以添加额外的逻辑来测试文件中出现的有多少个实例。

在编辑器中打开了多少个文件

下面的脚本将告诉你在编辑器中打开的文件的数量。该号码被写入输出窗口。

var num = UltraEdit.document.length;
UltraEdit.outputWindow.write("number " + num);

去一个特定的行/列数

以下脚本将在2号线编号,列12。

var lineNum = 2;
var colNum = 12;
UltraEdit.activeDocument.gotoLine(lineNum, colNum);

选择文档中的所有文本,复制它,并返回到光标位置

以下脚本选择文件中的所有文本,然后将其复制,然后将光标放回原处,然后选择所有/复制。

var lineNum = UltraEdit.activeDocument.currentLineNum;
var colNum = UltraEdit.activeDocument.currentColumnNum;
UltraEdit.activeDocument.selectAll();
UltraEdit.activeDocument.copy();
UltraEdit.activeDocument.gotoLine(lineNum, colNum);

在编辑器中遍历所有打开的文件

下面的脚本将遍历编辑器中的所有打开文件,并将添加一个“注释”。这是类似于header.js脚本可以从我们的网站下载。

var num = UltraEdit.document.length;
var index;
for (index = 0; index < num; index++) {
UltraEdit.document[index].top();
UltraEdit.document[index].write("// Edited by IDM");
}

你也可以使用此来执行一个动作,如修剪所有打开文件的尾随空格。

十六进制模式活跃吗?

下面的脚本将检查是否启用了十六进制模式,如果是这样,它将切换到十六进制模式。

var hexActive = UltraEdit.activeDocument.hexMode;
if (hexActive) UltraEdit.activeDocument.hexOff();

有一个你想为其他用户发布的脚本吗?给我们你的剧本…

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

百度机器翻译的比有道翻译准些嘛~

原文:UltraEdit/UEStudio Scripting Techniques

相关博文



发表评论

电子邮件地址不会被公开。