UltraEdit 中的宏编辑

UltraEdit 中的宏编辑,第1张

编辑宏命令 (宏菜单)

编辑宏命令允许你创建一个新宏,或编辑以前用这个命令生成的宏,或者编辑用录制命令录制的宏。

在大多数场合下,它可以用宏的录制命令很方便地录制一个新宏,如果你需要编辑,则可以编辑它,你只要稍作学习就可以掌握。

命令

宏是可以在以后任何时候执行并自动修改文件的一连串命令的组合。 对话框左边显示当前进行编辑的宏,和包含可编辑宏命令的编辑窗口。

宏中的命令必须是预定义命令中的其中一个;这些预定义命令显示在对话框右边。 如果用鼠标在一个命令上双击,或单击命令左边向左的箭头,它将自动添加到宏中。

参数

该数字参数必须完全明了,象“Goto Line # #”或“Goto Page #”。 但是象查找和替换、排序等命令,还要用非数字的其它参数,这些其它的参数在每个选定的命令列表的下面列出。

创建一个新宏

要从该对话框创建新宏,点击新建宏按钮。将显示宏定义对话框,允许您定义需要的宏名和热键。

当新建一个宏时,下列这些宏命令将自动添加到宏中:

- Insert Mode or OverStrike Mode

- ColumnModeOn or ColumnModeOff

- HexOn or HexOff

- UnixReOff or UnixReOn or PerlReOn

这四个命令根据当前编辑器状态添加的。其目的是在每次宏执行时建立一个已知的编辑状态。如果宏是在某种模式下录制,并在其它环境中执行,可能会出现不可预知的问题。在宏的开头建立宏运行模式可以确保达到你预期的结果。这些命令可能需要修改。

创建后的宏可以进行编辑。请注意:"^c" 和 "^s" 可以在很多宏命令中使用,替换剪贴板的内容 (^c) 和当前选中的内容 (^s)。这使得用户记录引用指定字符串的宏并将其替换为剪贴板的内容或当前选定的内容,使得宏在运行时动态“指定”字符串。

修改宏

要修改宏,可以直接在宏编辑框中输入命令,或从命令列表中选择。命令不区分大小写,但拼写必须要与命令列表中显示的完全一致。

下表显示你可以添加的命令行和各自的参数:

命令

参数*

说明

""

在引号 ("") 之间插入文本。结束引号必须是行中的最后一个非空格字符。要插入的字符可以是多行的文字。要插入一个引号 ("),将它放在文本开始插入的所需位置,并且确保最后一个字符也是引号。要只插入单个引号字符 ("),则该行应该是这样:

"""

要插入一个新行,在起始引号和结束引号之间添加一行。要在行首插入带 1 和 2 开头的两行,应该是这样:

"1

2"

AnsiToOem

将文件从 ANSI 转换到 OEM

ASCIIToUnicode

将文件从 ASCII 转换到 Unicode

Bottom

跳到文件末端

ClearClipboard

清除 UltraEdit 内部活动剪贴板内容

Clipboard

剪贴板号码 (0-9)

选择指定的剪贴板;0 = 指定 Windows 剪贴板,1-9 指定用户剪贴板

CloseFile

空白 (无参数)

Save 在文件关闭前强制保存

NoSave 如果文件应该先保存,则不提示关闭文件

关闭活动文件

ColumnCenterJustify

居中对齐选定的列

ColumnCut

要剪切的列编号数值

列模式中的剪切,选中的列或指定列号的列从当前光标位置到文件末尾。要剪切选中的列必须使用值“0”。

ColumnDelete

要删除的列编号数值

列模式中的删除,选中的列或指定列号的列从当前光标位置到文件末尾。要删除选中的列必须使用值“0”。

ColumnInsert

字符串位于引号 ("") 中

插入引号内的字符到选定的列

ColumnInsertNum

开始数字

增量

LeadingZero (可选)

HEX (可选)

在选中列中插入数字。 例如,要在每个选中行或从当前行到最后一行的当前列插入以 20 开始的数,增量为 -1 (= 递减 1),带有十六进制符号的首位 0,则应使用以下命令:

ColumnInsertNum 20 -1 LeadingZero Hex

ColumnLeftJustify

向左对齐选定的列

ColumnModeOff

关闭列模式

ColumnModeOn

打开列模式

ColumnRightJustify

向右对齐选定的列

Copy

复制选定的文本到剪贴板中

CopyAppend

复制选定的文本并附加到剪贴板

CopyFilePath

复制活动文件路径/名字到剪贴板

Cut

从文件中剪切选定的文本,并放置到剪贴板

CutAppend

从文件中剪切选定的文本,并附加到剪贴板

Delete

删除当前字符或选定的文本

DeleteLine

删除当前行

DeleteToEndofLine

删除从当前光标位置到行尾的内容

DeleteToStartofLine

删除从行首到当前光标位置的内容

DosToMac

转换文件 (行结束符) 到 MAC 格式

DosToUnix

转换文件 (行结束符) 到 UNIX 格式

DupeLine

在当标下面插入活动行的副本

Else

IF 命令的 Else 函数

IfSel

&

Else

如果 IfSel 命令失败则执行这些命令

EndIf

EndIf

结束受 If... 声明控制的指示块

EndLoop

结束循环 - 转回循环起始 - 查阅 Loop 命令

EndSelect

停止选择文本(详细信息请参见开始选择)

ExitLoop

退出循环,并转到循环后 (EndLoop 命令之后) 的第一个命令 - 查阅 Loop 命令

ExitMacro

在不处理另外命令或返回一个错误的情况下退出宏执行

Find

"" (搜索引号中的字符)

Ascii 说明是十六进制模式中的 ASCII 搜索(可选,仅十六进制模式)MatchCase 说明搜索条件是区分大小写的 (可选)

MatchWord 说明搜索的字符只完全匹配整个词语 (可选)

PreserveCase 如果使用则替换字符串与查找字符串大小写匹配,仅在后接 Replace 命令时可用(可选)

RegExp 说明这是一个正则表达式搜索 (可选)

Up 说明是用反向搜索 (可选)

Select 说明应该选定从当前选区/位置到搜索目标结束位置的文本

根据参数指定内容查找引号 "" 中的字符。

一些例子:

在任何情况下查找单个按字母排序的字符

Find RegExp "[A-Z]"

仅在大写情况下查找单个按字母排序的字符

Find MatchCase RegExp "[A-Z]"

查找单个非 'a' 或 'A' 或 CRLF (UltraEdit 语法) 的字符:

Find RegExp "[~a^p]"

查找单个非 'a' 或 LF (Unix/Perl 语法) 的字符:

Find MatchCase RegExp "[^a\n]"

FindInFiles

"" (引号中是初始目录字符)

"" (引号中是文件/类型字符)

"" (引号中是要搜索的字符)

MatchCase 说明搜索条件是区分大小写的 (可选)

MatchWord 说明搜索的字符只完全匹配整个词语 (可选)

OpenFiles 说明搜索应该限为当前打开进行编辑的文件 (可选)

OutputWin如果选定,则返回搜索输出到输出窗口;如果未选定,则返回到一个新的编辑窗口 (可选)

ProjFiles 如果选定,搜索限制为活动方案部分中的指定文件 (可选)

Recursive 如果选定,则继续搜索指定搜索目录下的子目录 (可选)

RegExp 说明这是一个正则表达式搜索 (可选)

SolFiles 如果使用,则搜索限定在指定为活动解决方案一部分的文件(可选,仅在 UEStudio 中)

Unicode 如果选定,则输入的字符将以多字节文字输入,并转换到 Unicode (可选)

根据参数中的定义搜索指定文件,查找引号 "" 中的字符。格式必须如下:

FindInFiles BoldParameters "初始目录" "文件/类型" "要搜索的字符"

例如:

FindInFiles OutputWin "c:\temp\test\" "*.html" "home"

当在所有打开文件、项目文件或解决方案文件中搜索时,Recursive 参数将被忽略。

当使用 OpenFiles、 ProjFiles 或SolFiles 时,初始目录和文件/类型参数应该为空字符串 "" 。

FromEBCDIC

从 EBCDIC 格式转换文本

GetString

在提示对话框中使用的引号 ("") 中的字符串

在当前位置提示用户要在文件中插入的字符。这里的“提示”是在宏执行时显示给用户的提示或询问。

GetString "你最喜欢在哪个国家居住?"

GetValue

在提示对话框中使用的引号 ("") 中的字符串

在当前位置提示用户要在文件中插入的值。这里的“提示”是在宏执行时显示给用户的提示或询问。

GetValue "您老贵庚呀?"

GotoBookMark

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

GotoBookMarkSelect

要跳转到的书签索引

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

GotoLine

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

跳转到指定的行和列号

GotoLineSelect

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

跳转到指定的行号和列号并选择从光标位置到行/列的文本。

GotoPage

要跳往的页码数值

跳到指定的页码

GotoPageSelect

要跳往的页码数值

跳到指定的页码,并选中从光标位置到页码间的文本

HexDelete

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

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

HexInsert

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

插入指定的字节数(空格)到文件中

HexOff

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

HexOn

打开十六进制模式

HideOrShowLines

隐藏选定的行,如果它是隐藏的,则显示原先隐藏的光标所在位置的行

IfCharGt

"字符串" 或数字

这用来检查光标位置的字符是否大于指定的字符或指定的数值。如果是数值则不是检查字符的值,而是检查字符的十进制值。

IfCharGt " "

如果当前字符大于等于空格,则执行这些命令

EndIf

IfCharGt 32

如果当前的字符十进制值大于等于 32 - 空格的十进制值,则执行这些命令

EndIf

IfCharIs

"字符串" 或数字

这用来检查当前光标位置的字符是不是指定的字符,或匹配该字符的十进制数值。

IfCharIs "xyz"

如果当前字符是 x、y 或 z,则执行这些命令

EndIf

IfCharIs 34

如果当前的字符是十进制值 34 - 双引号,则执行这些命令

EndIf

IfColNum

数字

这用来检查当前光标位置是不是指定的列号。

IfColNum 10

如果当前光标位置是列 10,则执行这些命令。

&

EndIf

IfColNumGt

数字

这用来检查当前光标位置是不是指定的列号。

IfColNumGt 10

如果当前光标位置是列 10,则执行这些命令。

&

EndIf

IfEof

这用来检查当前光标位置是否处于文件的最末端。

IfEof

如果在文件最末端则执行这些命令

EndIf

IfExtIs

"字符串"

检查活动文件的文件扩展名是否与指定字符串匹配。如果扩展名匹配,则条件满足,将执行 IfextIs 声明后面的宏命令。

IfExtIs "txt"

如果当前文件的扩展名是 txt,则执行这些命令。

&

EndIf

IfFound

这将检查宏中最后一次 find 命令返回的结果,如果最后一次搜索完成,将执行下一个指示集,一直到出现“EndIf”。

Find "something"

IfFound

如果找到“something”,则执行这些命令

EndIf

注意 - 要在宏执行时避免出现“未找到”消息,请确保宏属性中的“如果查找和替换 未找到则继续”选择框中已作相应的设置。

IfFTP

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

IfFTP

如果文件是 FTP 载入的文件,则执行这些命令

EndIf

IfNameIs

"字符串"

这用来检查活动文件 (没有路径或扩展名) 是否匹配指定的字符。如果名字是匹配的,则条件满足,宏将执行 IfNameIs 声明后面的步骤。

IfNameIs "test"

如果当前文件名是 test (不考虑文件扩展名),则执行这些命令

EndIf

IfNotFound

这将检查宏中最后一次 find 命令返回的结果,如果最后一次搜索未成功,将执行下一个指示集,一直到出现“EndIf”。

Find "something"

IfNotFound

如果未找到“something”,则执行这些命令

EndIf

注意 - 要在宏执行时避免出现“未找到”消息,请确保宏属性中的“如果查找和替换 未找到则继续”选择框中已作相应的设置。

IfSel

这用来检查在活动文件内部是否有已被选定的任何文本。

IfSel

如果有选定的内容,则执行这些命令

EndIf

InsertLine

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

InsertMode

更改文本编辑模式中的字符输入为插入模式

InsertPageBreak

在文件中的当前光标位置插入一个换页/分页字符

InvertCase

反转选定文本的大小写

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+”可以与普通编辑一起使用,用来修改命令。

如果这些命令只是作为文本输入,不作为键命令,则在 "" 中输入文本。

Loop

#

循环执行 # 次,这里的 # 是一个数值。0 表示无限循环。 例如:

Loop 10

执行命令 10 次

&

EndLoop

MatchBrace

查找匹配的成对符号,并选中它们之间的文本

NewFile

打开一个新的空白文件

NextDocument

切换到下一个文件标签文件

NextWindow

切换到下一个窗口

OemToAnsi

将文件从 OEM 转换到 ANSI

Open

引号 ("") 中是文件名

打开指定的文件。文件名必须在引号中。文件名中可以使用“^s”。UltraEdit 将其取代为活动窗口中当前选中的文本。同样可以使用“^c”且 UltraEdit 会将其替换为剪贴板中的内容。

OverStrikeMode

更改文本编辑模式中的字符输入为覆盖模式

Paste

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

PerlReOn

将正则表达式切换为符合 Perl 样式的正则表达式

PlayMacro

指定宏执行次数的数值

用引号 ("") 指定宏名

执行其它宏。先指定执行宏的次数,然后是宏名。宏名必须在引号中且区分大小写,并且宏应该已经存在。

PreviousBookmark

跳到上一个书签

PreviousBookmarkSelect

跳到上一个书签,并选中从光标位置到书签之间的文本

PreviousDocument

切换到上一个文件标签文档

PreviousWindow

切换到上一个窗口

Replace

All 全部替换。

AllFiles 在所有打开的文件中替换 (必需 All)。

SelectText 在选定的文本中替换 (必需 All)。

用引号中 ("") 的字符替换 - 用与替换找到的字符的字符串。

Replace 命令是用指定的字符替换先前找到的字符。 这个命令必须跟随在 Find 命令之后。

与查找字符一样,替换字符串必须在引号中。关闭引号必须是行中的最后一个非空格字符。

替换字符可以交叉多行,如果任何行中的最后的非空格字符是一个引号,该字符就此结束。所有允许在替换命令使用的特殊字符,也可以在这里使用。

ReplInFiles

"" (引号中是初始目录字符)

"" (引号中是文件/类型字符)

"" (引号中是搜索字符)

"" (引号中是替换字符)

Log 创建一个已更改文件的列表 (可选)

MatchCase 说明搜索是区分大小写的 (可选)

MatchWord 说明搜索的字符只完全匹配整个词语 (可选)

ProjFiles 如果使用则搜索限定在指定为活动项目一部分的文件中进行 (可选)

PreserveCase 如果选定,搜索只返回与指定字符大小写完全匹配的字符 (可选)

Recursive 如果选定,则继续搜索指定搜索目录下的子目录 (可选)

RegExp 说明是一个正则表达式搜索 (可选)

SolFiles 如果使用则搜索限定在指定为活动解决方案一部分的文件中进行 (可选,仅 UEStudio)

Unicode 如果选定,则输入的字符将以多字节文字输入,并转换到 Unicode (可选)

根据指定的参数搜索整个指定的目录,查找引号 "" 中的字符,并替换为指定的内容。格式必须象下面一样:

ReplInFiles BoldParameters "初始路径" "文件/类型" "搜索字符串" "替换字符串"

“替换字符串”(引号中内容)必须在宏的下一行中指定,且不在 ReplInFiles 命令的一行中。

例如:

ReplInFiles "c:\temp\test\" "*.html" "home"

"away"

当在所有打开的文件、项目文件或解决方案文件中搜索时,循环参数被忽略。

当使用 OpenFiles、 ProjFiles 或SolFiles 时,初始目录和文件/类型参数应该为空字符串 "" 。

ReturnToWrap

转换硬回车符到自动换行

RunTool

引号 ("") 中的字符指定要运行的工具的区分大小写的菜单名

运行一个工具。该工具必须是从高级菜单下的工具配置中配置的工具。

Save

保存活动文件

SaveAll

保存所有打开的文件

SaveAs

引号 ("") 中是文件名

将活动文件用指定的文件名保存。文件名必须在引号中。文件名中可以使用“^s”。UltraEdit 将其取代为活动窗口中当前选中的文本。同样可以使用“^c”且 UltraEdit 会将其替换为剪贴板中的内容。

SelectAll

选中文件中的所有文本

SelectLine

选中活动行中的所有文本

SelectToBottom

选中从当前位置到文件末端的所有文本

SelectToTop

选中从文件起始到当前位置的所有文本

SelectWord

选中当前词语 (象双击一个词语一样)

SortAsc

IgnoreCase 排序时忽略字符的大小写。

RemoveDup 删除重复的行。

Numeric 根据数值排序,不是根据字符顺序排序。无法在替换或本地排序中使用。

替换 表示替换排序防范中应该使用的排序。在替换排序方法中仅可以使用单个排序键。

本地 表示排序应该针对本地。无法与替换参数一起使用。

排序键对(数值),每个值之间用空格隔开。

按升序归类文件或选中的文本。

例如:

SortAsc IgnoreCase RemoveDup Numeric 1 -1 0 0 0 0 0 0

SortDes

IgnoreCase 排序时忽略字符的大小写。

RemoveDup 删除重复的行。

Numeric 根据数值排序,不是根据字符顺序排序。无法在替换或本地排序中使用。

替换 表示替换排序防范中应该使用的排序。在替换排序方法中仅可以使用单个排序键。

本地 表示排序应该针对本地。无法与替换参数一起使用。

排序键对(数值),每个值之间用空格隔开。

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

例如:

SortDes RemoveDup Locale 0 -1 0 0 0 0 0 0

SpacesToTabs

转换文件内的 (行首) 空格为制表符

SpacesToTabsAll

转换文件内的所有空格为制表符

StartSelect

开始选择。这将打开选择模式运行。所有光标动作或位置将被用来选择文本。 EndSelect 用来停止选择模式。已选文本将保持选中状态直到正常编辑时其他命令导致其不被选中。

TabsToSpaces

转换文件中的所有制表符到空格

Template

模板号 (#)

插入指定的模板到文件中

TimeDate

在文件的当前位置插入时间和日期

ToCaps

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

ToEBCDIC

转换文本到 EBCDIC 格式

ToggleBookmark

在当前行设置或删除书签

ToLower

转换选定的文本到小写字母

Top

跳到文件起始位置

ToUpper

转换选定的文本为大写字母

TrimTrailingSpaces

删除当前文件中每行后面的多余空格

UnicodeToASCII

从 Unicode 到 ASCII 转换文件

UnixMactoDos

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

UnixReOff

切换正则表达式到 UltraEdit 样式的正则表达式 (非 Unix)

UnixReOn

切换正则表达式到 Unix 样式的正则表达式

WrapToReturn

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

将文件从自动换行转换为硬回车

* 当在参数列中出现 (#) 时,此处应填入数值。同样,在参数列中出现 ("") 时,在引号中应填入字符串。文本描述只是参数的含义。 所有的字符串参数必须是最后一个参数。

1、打开一个原始文档,在文档中各个人物名称是以换行符分隔的,

2、右键点击文件,在右键菜单中选择【UltraEdit】。

3、在UltraEdit软件中打开文档内容。

4、在UltraEdit软件中点击【搜索】-【替换】。

5、d出替换窗口,在【查找什么】框中输入要替换的逗号【^r^n】,在【替换为】框中输入【 】,这里是按一下空白格。点击【全部替换】。

6、可以看到所有回车换行都已经替换为了空白格了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11939846.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存