返回介绍

脚本命令

发布于 2020-09-10 13:29:47 字数 22673 浏览 866 评论 0 收藏 0

UltraEdit/UEStudio 的脚本通过嵌入 JavaScript 引擎启用。 这允许用户在享受完整 JavaScript 语言的强大和灵活的同时使用以下指定的命令与编辑器(应用程序对象命令),或在编辑器中打开的文档(文档对象命令)进行特别交互。 脚本可以在 UltraEdit/UEStudio 中编辑,在默认词语文件中带有内置 JavaScript 的语法加亮:

脚本引擎支持 JavaScript 1.7 的核心功能。 有关 JavaScript 的更多信息,请参考相关的 Mozilla 网站 (Miscellaneous.html选项,当前光标位置所在的行将被复制。

copyAppend

复制选中的文本并将其追加到剪贴板。 如果没有选中的内容,如果配置了Miscellaneous.html选项,当前光标位置所在的行将被复制。 

copyFilePath

将活动文件的路径/名称复制到剪贴板。

currentChar

** 这是活动/指定文档的只读属性。

返回光标处字符的值。例如:

var char = UltraEdit.activeDocument.currentChar;

currentColumnNum

** 这是活动/指定文档的只读属性。

返回当前列号的值。 第一列编号为“0”。例如:

var col = UltraEdit.activeDocument.currentColumnNum;

currentLineNum

** 这是活动/指定文档的只读属性。

返回当前行号的值。例如:

var lineNum = UltraEdit.activeDocument.currentLineNum;

currentPos

** 这是活动/指定文档的只读属性。

返回值为当前位置到文件开头的字节数。例如:

var pos = UltraEdit.activeDocument.currentPos;

cut

将选中内容从文件剪切到剪贴板。 如果没有选中的内容,则将剪切光标位置目前所在的行。

cutAppend

将选中内容从文件中剪切并追加到剪贴板。 如果没有选中的内容,则将剪切光标位置目前所在的行。

deleteText

删除当前字符或选中的文本。

deleteLine 

 

删除当前的行。

deleteToEndOfLine 

 

将从光标位置开始删除一直到行的结尾。

deleteToStartOfLine 

 

将从光标位置开始删除一直到行的开始。

dosToMac 

 

将文件(行终止符)转换为 MAC 格式。

dosToUnix 

 

将文件(行终止符)转换为 UNIX 格式。

dupeLine

 

在光标下插入活动行的复制。

encoding

** 这是一个活动/指定文件的唯读属性。

回传活动文件的编码值。例如:

var enc = UltraEdit.activeDocument.encoding;

endSelect 

 

停止选择文本(详细信息请参见 startSelect)。

expandAll

展开活动文件中所有折叠的文本。 例如:

UltraEdit.activeDocument.expandAll();

fileSize

** 这是活动/指定文档的只读属性。

返回引用文件的字节数大小。例如:

var size = UltraEdit.activeDocument.fileSize;

findReplace 

.matchCase布尔值true/false
.matchWord布尔值true/false
.mode整数值:
   0 - 当前文件
   1 - 在选择中
   2 - 所有打开的文件
.regExp布尔值true/false
.searchAscii布尔值true/false
.searchDown布尔值true/false
.searchInColumns布尔值true/false
.fromCol整数default: 0
.toCol整数default:
-1
.find ("要搜索的字符串");
.replace ("要搜索的字符串", "替换字符串");
  
** 仅在替换中使用 **
.preserveCase  布尔值true/false
.replaceAll布尔值true/false
.replaceInAllOpen布尔值true/false
   *在替换中取代 .mode
.selectText布尔值true/false
  *仅替换选中的文本

根据指定的参数查找引号 "" 中的字符串。例如:

UltraEdit.activeDocument.findReplace.matchWord = true;

UltraEdit.activeDocument.findReplace.find("3939");

UltraEdit.document[0].findReplace.matchWord = true;

UltraEdit.document[0].findReplace.matchCase = true;

UltraEdit.document[0].findReplace.replace("Copper", "Silver");

请注意:所有属性一旦设定便应用于之后的所有查找和替换,直到再次被设置为其他值。

fromEBCDIC

 

将文本转换为 EBCDIC 格式。

gotoBookmark

跳转到的书签索引或 -1 转到下一个书签

跳转到下一个/指定的书签。索引从 0 开始。如果用户输入大于实际书签数的索引,则将自动引导到第一个书签(索引 0)。例如:

UltraEdit.activeDocument.gotoBookmark(0);

gotoBookmarkSelect

跳转到的书签索引或 -1 转到下一个书签

跳转到下一个/指定的书签并选择从光标位置到书签的文本。索引从 0 开始。如果用户输入大于实际书签数的索引,则将自动引导到第一个书签(索引 0)。例如:

UltraEdit.activeDocument.gotoBookmarkSelect(0);

gotoEndOfNextWord

跳转到下一个词语的尾部。示例: UltraEdit.activeDocument.gotoEndOfNextWord();

gotoEndOfNextWordSelect

跳转到下一个词语的尾部并选择当前插入记号位置的所有文本。示例: UltraEdit.activeDocument.gotoEndOfNextWordSelect();

gotoEndOfPrevWord

跳转到前一个词语的尾部。示例: UltraEdit.activeDocument.gotoEndOfPrevWord();

gotoEndOfPrevWordSelect

跳转到前一个词语的尾部并选择当前插入记号位置的所有文本。示例: UltraEdit.activeDocument.gotoEndOfPrevWordSelect();

gotoLine

要跳转到的行和列数的数值

跳转到指定的行和列号。使用行号 0 跳转到当前行的指定列。例如:

UltraEdit.activeDocument.gotoLine(1,5);

gotoLineSelect 

要跳转到的行和列数的数值

跳转到指定的行号和列号并选择从光标位置到行/列的文本。选择文本时使用行号 0 跳转到当前行的指定列。例如:

UltraEdit.activeDocument.gotoLineSelect(1,5);

gotoPage

要跳转到页面的编号

跳转到指定的页号。例如:

UltraEdit.activeDocument.gotoPage(5);

gotoPageSelect 

要跳转到页面的编号

跳转到指定的页号并选择从光标位置到页的文本。例如:

UltraEdit.activeDocument.gotoPageSelect(5);

gotoPos

数字值,以字节数指定该位置与文件开始处的距离

跳转到指定位置

gotoPosSelect 

数字值,以字节数指定该位置与文件开始处的距离

Jump to specified position (passed as parameter in number of char from beginning of file) while making a selection

hexDelete

指定要删除的字节数的数值

从文件中删除指定数量的字节。

hexInsert 

指定要插入字节大小的数字值

将指定数量的字节插入文件。这将插入空格 (HEX 20)。

hexMode

** 这是活动/指定文档的只读属性。

返回布尔值说明十六进制模式是否活动。例如:

var hexActive = UltraEdit.activeDocument.hexMode;

hexOff 

 

关闭十六进制模式——切换到文本模式。

hexOn 

 

打开十六进制模式。

hideOrShowLines 

 

隐藏选中的行,或如果隐藏则显示在光标行处隐藏的行。

insertLine

在光标当前位置的下面插入空白行。

insertPageBreak

在文件光标目前所在位置插入换页/分页符。

insertTemplate

引号中是后跟点号的模板组名称 ("glo.")(可选)
引号中的模板名称 ("templateName")
全局模板索引(传统)

把指定的模板插入文件中。通过指定模板名称(可指定亦可不指定模板组名称)即可插入全局模板。例如:

UltraEdit.activeDocument.insertTemplate("userTime");

如有必要,用户可以指定全局 ("glo" 或 "global")、环境("env" 或 "environment")、语言("lng" 或 "language")和项目("prj" 或 "project")组以及模板名称。例如:

UltraEdit.activeDocument.insertTemplate("glo.userTime");
UltraEdit.activeDocument.insertTemplate("global.userTime");
UltraEdit.activeDocument.insertTemplate("env.Power1");
UltraEdit.activeDocument.insertTemplate("environment.Power1");
UltraEdit.activeDocument.insertTemplate("lng.class");
UltraEdit.activeDocument.insertTemplate("language.class");
UltraEdit.activeDocument.insertTemplate("prj.noDesc");
UltraEdit.activeDocument.insertTemplate("project.noDesc");

如有必要,用户可以根据索引指定全局模板。例如:
UltraEdit.activeDocument.insertTemplate(0);

insertTemplate

模版索引

将指定的模版插入文件。例如:

UltraEdit.activeDocument.insertTemplate(0);

invertCase

转换所选文本的大小写。

isCharGt 

"字符"

检查当前光标位置所在的字符是否大于指定的字符。例如:

   
if (UltraEdit.document[1].isCharGt('k')){

 //do these commands...

} else {

 //do these commands...

isChar

"字符串"

检查当前光标位置所在的字符是否为指定的字符。 例如:
 

if (UltraEdit.document[1].isChar('k')){

 //do these commands...

} else {

 //do these commands...

}

isColNum 

数字

检查当前光标位置是否为指定的列号。 例如:
   
if (UltraEdit.activeDocument.isColNum(13)){

 //do these commands...

} else {

 //do these commands...

}

isColNumGt

数字

检查当前光标位置是否大于指定的列号。 例如:
   
if (UltraEdit.activeDocument.isColNumGt(13)){

 //do these commands...

} else {

 //do these commands...

}

isEof 

 

检查当前光标位置是否为文件的结尾。 例如:
 

if (UltraEdit.document[1].isEof()){

 //do these commands...

} else {

 //do these commands...

}

isExt

"字符串"

检查活动文件的文件扩展名是否与指定字符串匹配。例如:
 

if (UltraEdit.document[1].isExt("txt")){

 //do these commands...

} else {

 //do these commands...

}

isFound 

 

检查脚本中上次找到的命令结果,并根据结果有条件地执行其他命令。例如:
 

UltraEdit.activeDocument.findReplace.find("string");

if (UltraEdit.activeDocument.isFound()){

 //do these commands...

} else {

 //do these commands...

}

isFTP 

 

检查当前文件是否为通过 FTP/SFTP 加载的文件,而不是本地/网络文件。
 

if (UltraEdit.document[1].isFTP()){

 //do these commands...

} else {

 //do these commands...

}

isHexModeOn

检查当前文件是否设置为十六进制/二进制模式。

if (UltraEdit.activeDocument.isHexModeOn()){

 //do these commands...

} else {

 //do these commands...

}

isName 

"字符串"

检查活动文件的文件名(不是路径或扩展名)是否与指定字符串匹配。例如:

if (UltraEdit.document[1].isName("foo")){

 //do these commands...

} else {

 //do these commands...

}

isNotFound 

 

检查脚本中上次找到的命令结果,并根据结果有条件地执行其他命令。例如:
 

UltraEdit.activeDocument.findReplace.find("string");

if (UltraEdit.activeDocument.isNotFound()){

 //do these commands...

} else {

 //do these commands...

}

isReadOnly 

 

此命令检查活动文档是否设置为只读。 例如:
  
if (UltraEdit.activeDocument.isReadOnly()){

 //do these commands...

} else {

 //do these commands...

}

isSel 

 

检查活动文件中当前有没有选中的文本。 例如:
  
if (UltraEdit.document[1].isSel()){

 //do these commands...

} else {

 //do these commands...

}

isWordWrap 

 

此命令检查活动文档的自动换行状态。 例如:
  
if (UltraEdit.activeDocument.isWordWrap()){

 //do these commands...

} else {

 //do these commands...

}

key

BACKSPACE
DEL
DOWN ARROW
END
HOME
LEFT ARROW
PGDN
PGUP
RIGHT ARROW
UP ARROW
CTRL+END
CTRL+HOME
CTRL+LEFT ARROW
CTRL+RIGHT ARROW

将键盘命令插入活动文件。通常用于在文件中导航以及退格或删除。“CTRL+”修改符可以用于常规编辑修改命令。
  
如果要输入文本,则使用“write”命令而非“key”命令。 例如:

UltraEdit.activeDocument.key("BACKSPACE");

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

length

** 这是活动/指定文档的只读属性。

返回活动文档的数量。 例如:

var num_of_docs = UltraEdit.document.length;

lineTerminator

** 这是一个活动/指定文件的唯读属性。

回传一个活动文件用来表示行终止字符的数值。例如:

var lt = UltraEdit.activeDocument.lineTerminator;

0 = DOS

1 = UNIX

2 = MAC

matchBrace 

 

查找下一个匹配的括号并选择括号中的文本。

moveLineDown

在活动文档中将当前行下移一行。 例如:

UltraEdit.activeDocument.moveLineDown();

moveLineUp

在活动文档中将当前行上移一行。 例如:

UltraEdit.activeDocument.moveLineUp();

oemToAnsi 

将文件从 OEM 转换为 ANSI。

paste 

 

将剪贴板中的内容粘贴到文件中。

path

** 这是活动/指定文档的只读属性。

返回指定文件的完整路径。例如:

var text = UltraEdit.activeDocument.path;

previousBookmark

跳到上一个书签。例如:

UltraEdit.activeDocument.previousBookmark();

previousBookmarkSelect

跳转到上一个书签并选择从光标位置到书签的文本。例如:

UltraEdit.document[1].previousBookmarkSelect();

readOnlyOff

将活动文档设置为可写

readOnlyOn

将活动文档设置为只读

reIndentSelection

重新缩进当前选中的文本。 例如:

UltraEdit.activeDocument.reIndentSelection();

returnToWrap 

 

将当前选中的硬回车转换为自动换行。

selectAll 

 

选中文件中的全部文本。

selection

** 这是活动/指定文档的只读属性。

返回当前选中的文本。例如:

var text = UltraEdit.activeDocument.selection;

selectLine

 

选择活动行中的所有文本。

selectToBottom 

 

选择从当前位置到文件末尾的所有文本。

selectToTop 

 

选择从当前位置到文件开头的所有文本。

selectWord

 

选中当前词语(与双击词的作用相同)。

setActive

将指定文档设置为活动文档。例如:

UltraEdit.document[1].setActive();

sort

.ascendingboolean   true/false
.col1Startint   start column key 1
.col1Endint   end column key 1
.col2Startint   start column key 2
.col2Endint   end column key 2
.col3Startint   start column key 3
.col3Endint   end column key 3
.col4Startint   start column key 4
.col4Endint   end column key 4
.ignoreCaseboolean   true/false
.removeDuplicates  
int   0 - false
   1 - all keys match
   2 - any keys match
.remKey1boolean   true/false
.remKey2boolean   true/false
.remKey3boolean   true/false
.remKey4boolean   true/false
.type
int   0 - character order
   1 - numeric sort
   2 - use locale
   3 - alt. sort

Sort the file, or selected text according to specified parameters.

Example:

UltraEdit.activeDocument.sort.ascending = true;

UltraEdit.activeDocument.sort.ignoreCase = false;

UltraEdit.activeDocument.sort.removeDuplicates = 1;

UltraEdit.activeDocument.sort.remKey1 = true;

UltraEdit.activeDocument.sort.remKey2 = true;

UltraEdit.activeDocument.sort.type = 0;

UltraEdit.activeDocument.sort.col1Start = 1;

UltraEdit.activeDocument.sort.col1End = 15;

UltraEdit.activeDocument.sort.col2Start = 35;

UltraEdit.activeDocument.sort.col2End = 50;

UltraEdit.activeDocument.sort.sort();

sortAsc 

sortDes

类型归类

0 - 根据字符顺序归类。

1- 根据数字值而非字符顺序归类。

2 - 指定归类必须针对现场。

3 - 指定归类应使用其他归类方法。使用其他归类方法只需使用一个归类键。

忽略大小写               布尔值 true/false

删除重复 布尔值 true/false

归类键    int   可以指定多达四对开始/结束键。

用升序或降序方式排序文件或选定的文本。

例如:

UltraEdit.activeDocument.sortAsc(0, true, true, 1, -1);

例如:

UltraEdit.activeDocument.sortDes(1, true, false, 4, 8);

spacesToTabs 

 

将文件中的空格转换为制表符。这基于配置-自动换行/制表符设置中定义的制表符空格值。 如果制表符空格值设置为 3,则转换为一个制表符需要一组连续的三个空格。小于三个的连续空格都无法转换。

spacesToTabsAll 

 

将文件中的所有空格转换为制表符。这基于配置-自动换行/制表符设置中定义的制表符空格值。 如果制表符空格值设置为 3,则转换为一个制表符需要一组连续的三个空格。小于三个的连续空格都无法转换。

startSelect 

 

开始选择。这将打开选择模式运行。任何光标的移动或放置都伴随选择并选中文本。endSelect 将停止选择模式。已选文本将保持选中状态直到正常编辑时其他命令导致其不被选中。

tabsToSpaces 

 

将文件中的所有制表符转换为空格。

timeDate 

 

将时间和日期插入文件的光标位置。

toCaps 

 

选定文本中的每个词语首字大写。

toEBCDIC

 

将文本转换为 EBCDIC 格式。

toggleBookmark 

 

在当前行设置或删除书签。

toLower 

 

将选中文本转换为小写。

top 

 

跳转到文件开头。

toUpper 

 

将选中文本转换为大写。

trimTrailingSpaces

 

切掉当前文件每行尾部的空格。

unicodeToASCII

 

转换 Unicode 文件到 ASCII。

unixMacToDos 

 

将活动文件(行终止符)从 Mac/Unix 转换为 DOS 格式。

UTF8ToASCII

 

转换 UTF-8 文件到 ASCII。

wordWrapOff

关闭活动文档的自动换行

wordWrapOn

打开活动文档的自动换行

wrapToReturn 

执行换行时所在列的列号。列号为 0 则表示换行发生在窗口边缘

将选中内容从换行转换为硬回车。例如:

UltraEdit.activeDocument.wrapToReturn(60);

write

写入的文本位于引号 ("") 中

将指定的文本写入光标位置。例如:

UltraEdit.activeDocument.write("This is a test.");

UltraEdit.activeDocument.write("^c");

将在 write 命令中使用剪贴板内容。

xmlConvertToCRLF

将单行的 XML 文件转换为缩进的 XML 格式。

输出窗口对象命令

outputWindow 是 JavaScript 阵列对象,阵列对象是 UltraEdit 应用程序对象的属性。 除非注明其他参数,否则所有输出窗口对象命令都必须使用下列格式调用:

 

UltraEdit.outputWindow.commandName();

下表说明了输出窗口对象命令:

命令

参数*

说明

clear

 

清除输出窗口内容。例如:

UltraEdit.outputWindow.clear();

copy

复制输出窗口的内容到活动剪贴板。例如:

UltraEdit.outputWindow.copy();

showOutput

布尔值    true/false

确定是否显示写入输出窗口中的针对用户数据。 现在只包含 outputWindow.write()。例如:

UltraEdit.outputWindow.showOutput=false;

showStatus

布尔值    true/false

确定是否在输出窗口中显示所有状态信息(脚本名称、脚本成功/失败和错误信息)。例如:

UltraEdit.outputWindow.showStatus=true;

showWindow

布尔值    true/false

切换输出窗口是否可见。例如:

UltraEdit.outputWindow.showWindow(true);

visible

** 这是只读属性。

返回布尔值表示输出窗口是否可见。例如:

UltraEdit.outputWindow.visible;

write

写入的文本位于引号 ("") 中

向输出窗口中写入指定的文本。 这将每次仅支持一行且不包含行终止符。例如:

UltraEdit.outputWindow.write("This is a test.");

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文