[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

OpenVMS 用户手册


前页 目录 索引

8.13.1.1 当查找到搜索串时

EVE 找到搜索串时,编辑程序突出显示它,并移动光标到这个字符串的第一个字母。有关可以在突出显示的搜索串上使用编辑命令的列表,请参阅 Extensible Versatile Editor Reference Manual

要取消突出显示,把光标移出搜索串或者使用 RESET 命令。

要查找搜索串的下一个出现,按下 Find 键两次或者输入 FIND NEXT 命令。

8.13.2 设置大小写精确搜索

搜索字符串小写字母的出现时,如果要精确地匹配搜索串的字母大小写,那么输入 SET FIND CASE EXACT 命令。于是,当以小写字母形式输入搜索串时,EVE 只搜索小写字母的出现,而忽略包含大写字母的出现。

该设置应用于 FIND、REPLACE 和 WILDCARD FIND 命令。可以把设置保存在节文件或命令文件中,供以后的编辑对话期使用。默认设置是 SET FIND CASE NOEXACT。

EVE 对读音 (重音) 标记是敏感的,并且只找出精确匹配读音符号的字符串。例如,在搜索 ë 时,EVE 不查找 e、é、èê。

在以下例子中,这命令允许大小写精确搜索,然后只查找 digital 小写字母形式的出现,忽略如 DigitalDIGITAL 的出现:


Command: SET FIND CASE EXACT
Command: FIND digital

指南: 查找文本

要对现有文件 RHYMES.DAT 使用 FIND 命令:

  1. 调用 EVE 编辑 RHYMES.DAT。光标出现在缓冲区的第一行第一个字母处,并且当前方向是正向。
  2. 按下 Find 键,键入字母 ree, 并按下 Enter 键。光标移动到字tree 的字母 r 并突出显示字母 ree
  3. 按下 Find 键两次查找字符串 ree 的下一个出现。光标移动到字 three 的字母 r 并突出显示字母 ree。
    当查找到搜索串并突出显示时,可以使用除 SPELL 之外的任何处理已选定或找到范围的命令。并且,不能在找到的范围使用暂挂删除操作。
  4. 输入 UPPERCASE WORD 命令。
    UPPERCASE WORD 命令把突出显示字母的字母大小写从小写字母更改为大写字母,如以下例子所示:


    She rhymes with tree,
    also with bee,
    and this one makes thREE.
    [End of file]
    

指南: 使用 FIND SELECTED 命令

要使用 FIND SELECTED 搜索特别复杂或容易拼错或打错的字符串:

  1. 复制文本 (从前面的指南) 以便该文本在缓冲区中显示两次。
  2. 移动光标到第一行的字符串 rhymes with tree, 的开始。
  3. 输入 SELECT 命令。
  4. 移动光标突出显示这个字符串并选择文本。注意,选择不能跨行。
  5. 输入命令 FIND SELECTED。
    光标移动到字符串 rhymes with tree, 的下一个出现。选择被取消,而找到的字符串以粗体显示形式出现。

8.13.3 使用通配符

您可以使用通配符搜索文本。SHOW WILDCARDS 命令显示当前通配符设置的通配符式样。

指南: 使用通配符

学习如何使用通配符:

  1. 定位光标在缓冲区的开始。
  2. 输入命令 WILDCARD FIND *ee 搜索以 ee 结束的文本串。


    She rhymes with tree,
    also with bee,
    and this one makes thREE.
    [End of file]
    

    EVE 把光标定位在 tree 内包含 r 的行首。

8.13.4 搜索包括白空格

使用 SET FIND WHITESPACE 和 SET FIND NOWHITESPACE 命令指定 WILDCARD FIND 和 FIND 命令如何处理字间白空格,例如空格、制表符和分行符。

SET FIND NOWHITESPACE 命令允许命令搜索单行中的多字字符串,精确地匹配找到的空格和制表符。SET FIND NOWHITESPACE 是默认搜索行为。

SET FIND WHITESPACE 命令允许 WILDCARD FIND 和 FIND 命令搜索含有两个或更多字的字符串,而不管它们是如何分开的。它允许 FIND 命令搜索在字间包含一个单分行符和一个以上空格或制表符的字符串。

8.13.5 在文本中标记位置

MARK 和 GO TO 命令可用于编辑大的文件,以后在编辑对话期间返回到特定位置。下表描述 MARK 和 GO TO 命令:

命令 功能
MARK 把不可见标记放在当前光标位置。在其余编辑对话期时间,标记一直存在直到您更改它;退出时它不被保存。
GO TO 光标返回到 MARK 命令标号的位置。如果标号的位置在另一个缓冲区找到,那么 EVE 移动光标到其他缓冲区并把那个缓冲区放入当前窗口。

要标记位置,输入 MARK 命令后面跟随一个选择的标号名。标号名可以是一个或多个可打印字符,包括字母数字和标点字符、空格和制表符。要返回光标到标记的位置,输入 GO TO 命令后面跟随标号名。

8.13.6 替换文本

使用 REPLACE 命令,可以在当前缓冲区中用一个文本串替换另一个文本串。如果在一个长文件中有一个拼错的字,而要修改这个拼错字的每个出现,这是有用的。

8.13.6.1 REPLACE 命令和字母大小写敏感性

REPLACE 命令是大小写敏感的。如果旧字符串有一些大写字母,EVE 搜索精确的字母大小写匹配。如果旧字符串都是小写字母,EVE 搜索这个字符串的任何出现,而不管它的字母大小写。如果新字符串有一些大写字母,EVE 精确地替换字符串。如果旧的和新的字符串都是小写字母,EVE 则根据以下规则替换字符串:

  • 旧字符串的首字母大写版本 (第一个字母大写,其他小写) 被新字符串的首字母大写版本替换。
  • 旧字符串的所有大写版本被新字符串的所有大写版本替换 (否则,旧字符串被新字符串的所有小写版本替换)。

下表展示 EVE 如何使用字符串的字母大小写:

旧字符串 新字符串 突出显示 替换
butter margarine butter margarine
    Butter Margarine
    BUTTER MARGARINE
    BUtteR margarine
       
Butter margarine Butter margarine
       
butter Margarine butter Margarine
    Butter Margarine
    BUTTER Margarine
    BUtteR Margarine
       
Butter Margarine Butter Margarine

如果只要查找或替换字符串的小写字母出现,就输入 SET FIND CASE EXACT 命令。于是,如果以所有小写字母形式输入搜索串,EVE 只搜索字符串的小写字母出现,忽略包含大写字母的出现。该设置应用于 FIND、REPLACE 和 WILDCASE FIND 命令。

下表展示当输入 SET FIND CASE EXACT 命令时,EVE 如何只搜索和替换小写字母的字符串:

旧字符串 新字符串 突出显示 替换
butter margarine butter margarine

默认字母大小写设置是 SET FIND CASE NOEXACT。

8.13.6.2 REPLACE 命令响应

下表展示 REPLACE 命令询问的响应和效果:

响应 效果
Yes 替换这个出现并查找下一个。这是默认响应。按下 Enter 键。
No 跳过这个出现并查找下一个。
All 替换所有出现 (不再提示,除非 EVE 从相反方向找到一个出现)。
Last 替换这个出现并在这里停止。
Quit 跳过这个出现并在这里停止。

8.14 使用命令行限定词

调用 EVE 时,可以使用命令行限定词指定高级 EVE 编辑特性。当使用字符单元屏幕更新程序时,默认插入或重键模式由终端设置确定。

表 8-10 列出可以用于 EDIT 命令调用 EVE 的限定词。

表 8-10 EDIT 命令行限定词
限定词 默认
命令文件 /COMMAND=TPU$COMMAND.TPU
文件建立 /CREATE
调试软件包 /NODEBUG
指定显示模式 /DISPLAY=CHARACTER_CELL
初始化文件 /INITIALIZATION=EVE$INIT.EVE
日志 /JOURNAL
修改主缓冲区 /MODIFY
指定输出 /OUTPUT=output-file
只读存取 /NOREAD_ONLY
恢复 /NORECOVER
节文件 /SECTION=TPU$SECTION
开始位置 /START_POSITION=(1,1)
工作文件 /WORK=SYS$SCRATCH:TPU$WORK.TPU$WORK

8.14.1 从其他位置开始

开始位置限定词确定在命令行指定的缓冲区中光标第一次出现的行与列。

对于 EVE,默认开始位置是 1、1 --- 行 1、列 1,是在缓冲区的左上角。使用开始位置限定词,不影响在编辑对话期间建立另一个缓冲区的初始光标位置,并且不限制缓冲区大小。

开始位置限定词的格式如下所示:


/START_POSITION=(row[,column]

各字段如下所示:

/START_POSITION 必须对 EDIT 命令使用 /START_POSITION= 限定词。
row 调用 EVE 时想要光标所在的行号。
column 调用 EVE 时想要光标所在的列号。

使用开始位置限定词在特定行或在特定字符位置 (或列) 开始编辑。例如,当要略过一个文件的标准标题时,或者一个批量日志文件或出错消息告知在程序的哪一行出错,就可以指定这个行号作为开始行,以便编辑程序源文件时,光标直接移动到那一行。以下命令编辑一个文件 test.com 并把光标放在行 10、列 5:


$  EDIT TEST.COM /START_POSITION=(10,5)

如果要从文件的特定行开始,可以省略第二个参数 (列)。

8.14.2 使用工作文件

工作文件限定词确定用来交换存储器以便编辑很大文件的工作文件。每个编辑对话期有一个工作文件。工作文件是临时文件,退出时自动删除。

默认工作文件名是 TPU$WORK.TPU$WORK。EVE 在 SYS$SCRATCH 建立工作文件,除非指定不同的位置。

有两种方法指定不同的工作文件:

  • 定义逻辑名 TPU$WORK。这是有用的,如果要把工作文件建立在不同于 SYS$SCRATCH 的区域,例如在一个较大的磁盘上。可以把定义放入 LOGIN.COM 文件。
  • 使用 /WORK= 限定词并指定工作文件。它取代 TPU$WORK 逻辑名的任何定义。例如,以下命令调用 EVE 并把工作文件指定为 SYS$SCRATCH:MYWORK.TPU$WORK:


    $  EDIT /WORK=MYWORK
    
如果想要工作文件建立在不同于 SYS$SCRATCH 的区域,使用一个完整文件说明,包括设备 (磁盘) 和目录。不能使用通配符指定工作文件。

8.14.3 修改主缓冲区

修改限定词确定是否可修改命令行中指定的缓冲区。修改不影响在编辑对话期间建立的其他缓冲区。

按照默认,编辑缓冲区中文本就可以修改缓冲区。退出时,如果缓冲区已修改,EVE 就把缓冲区写入一个文件。

使用 /NOMODIFY 检查文件而不做任何更改。于是可以使用光标移动命令但不能更改文本。

如果既不指定 /MODIFY 也不指定 /NOMODIFY,则应用程序确定是否可以修改缓冲区。EVE 的默认行为是修改缓冲区。

使用 /MODIFY 取代 /READ_ONLY 或 /NOWRITE 的效果。使用/MODIFY 连带 /READ_ONLY 或 /NOWRITE 在退出编辑操作时不会写入文件。例如,下命令调用 EVE,使命令行中指定缓冲区为只读 (或不可写),但可修改:


$  EDIT /READ_ONLY /MODIFY

在 EVE 中,使用 SET BUFFER 命令可以设置或更改缓冲区的修改属性。

8.15 调用 EVE 的其他方法

可以使用 4 种不同方法调用 EVE: 用搜索列表、用通配符、用通配符目录名或用多个输入文件。

8.15.1 用搜索表调用 EVE

可以使用一个搜索列表调用 EVE,从而编辑搜索列表中的文件。例如:


$ DEFINE STAFFMEMOS HIRING.DAT,PROMOTION.LIS,SALARY.TXT
$  EDIT STAFFMEMOS

在这个例子中,如果搜索列表的第一个文件存在,EVE 把文件 (HIRING.DAT) 复制到缓冲区并使用其文件名和文件类型作为缓冲区名。如果这个文件不存在,EVE 试着获得第二个文件 (PROMOTION.LIS),等等。如果搜索列表没有一个文件存在,EVE 则建立一个空缓冲区,并且命名为 HIRING.DAT,因为它是搜索列表的第一个文件。

8.15.2 用通配符调用 EVE

调用 EVE 编辑现有文件时,可以使用星号 (*) 通配符代替文件名和文件类型中的一些或所有字符。要在 EVE 中使用通配符,遵循在 DCL 中使用通配符的同样规则。可以使用百分号 (%) 通配符每次代替单个字符,并且可以使用省略号 ([...]) 通配符代替目录说明。如果只匹配一个,这个文件就显示在您的屏幕上。如果匹配一个以上,EVE 会显示一列匹配的文件并提示您提供一个更完整的文件说明。如果没有匹配,EVE 则建立一个名为 Main 的空缓冲区。

如果请求的通配符匹配一个以上文件,那么 EVE 显示一些匹配文件,从而可以挑选您要的一个。

如果找不到匹配的文件,EVE 会建立一个名为 Main 的空缓冲区。如果使用搜索列表或通配符目录指定输入文件,EVE 就取找到的第一个匹配文件而不显示 $CHOICES$ 缓冲区。有关使用 $CHOICES$ 缓冲区的详情,请参阅 EVE 联机求助的题目: Choices Buffer。

在以下例子中,将显示文件类型为 .TXT 的所有文件:


$  EDIT *.TXT

如果指定 *.TXT,那么 EVE 在第二个窗口中列出在系统缓冲区 $CHOICES$ 中的匹配于通配符请求的文件。

8.15.3 用通配符目录名调用 EVE

在目录名 ([...]) 中您可以使用通配符调用 EVE,而您工作在当前目录或当前目录的子目录。

这种处理搜索列表或通配符目录的方法不仅应用于 EDIT 命令,也应用于使用文件说明参数的 EVE 命令。以下 EVE 命令使用文件说明作为参数:

@ (at 符号)
GET FILE
INCLUDE FILE
OPEN
OPEN SELECTED
RECOVER BUFFER

在以下例子中,EVE 搜索目录树并取找到的第一个 PINK.TXT 文件 (如果有)。


$  EDIT [...]PINK.TXT

8.15.4 用多个输入文件调用 EVE

在调用 EVE 的命令行中可以指定多个输入文件。文件名必须用逗号及可选白空格分开。如果通配符出现在文件名中,EVE 只为有一个以上匹配的第一个通配符文件名显示匹配文件。对于其他多义文件名,EVE 输出一条警告消息。

8.16 日志和恢复

日志文件记录您的编辑,以便因系统失败中断了编辑对话期的情况下可以恢复工作。

缓冲区更改日志为您建立的每个文本缓冲区建立一个独立的日志文件。这是 EVE 的默认设置。缓冲区更改日志可在 DECwindows 和字符单元终端上工作。通常,在 EVE 中使用 RECOVER BUFFER 命令每次可以恢复一个缓冲区。您可以从不同编辑对话期恢复缓冲区。恢复操作只恢复文本,但恢复在系统失败之前的设置、键定义或系统缓冲区的内容 (如 Insert Here buffer) 。

调用 EVE 时在命令行中使用 /NOJOURNAL 限定词,可以撤消日志。使用 EVE 检查文件而不进行任何编辑或者用于示范对话时,这是有用的。

EVE 文件备份是不允许的,并且不能被允许,因为 OpenVMS 文件系统提供版本号;因此,不需要 EVE 机制。


前页 后页 目录 索引