OpenVMS 用户手册
8.16.1 使用缓冲区更改日志
缓冲区更改日志为每个文本缓冲区建立一个日志文件。(EVE 不为系统缓冲区建立缓冲区更改日志文件,例如 Insert Here 缓冲区、DCL 缓冲区或
$RESTORE$ 缓冲区。)
当辑缓冲区时,日志文件记录更改操作,例如擦除、插入或重新格式化文本。退出 EVE
或者删除这个缓冲区时,就删除日志文件。如果一个系统失败中断了编辑对话期,就保存日志文件。几乎不会失去在系统失败之前最后的按键。
表 8-11 概述缓冲区更改日志和恢复的 EVE 命令。
表 8-11 缓冲区更改日志和恢复的 EVE 命令
命令 |
功能或效果 |
RECOVER BUFFER
|
使用缓冲区的日志文件恢复指定的缓冲区。可以指定要恢复的缓冲区或文件的名称或者缓冲区的日志文件名。 |
RECOVER BUFFER ALL
|
通过使用缓冲区的日志文件 (如果有),一次一个地恢复所有文本缓冲区。 |
SET JOURNALING
|
允许缓冲区更改日志用于指定的缓冲区。 |
SET JOURNALING ALL
|
允许缓冲区更改日志用于所有缓冲区。这是默认设置。 |
SET NOJOURNALING
|
不允许缓冲区更改日志用于指定的缓冲区。
|
SET NOJOURNALING ALL
|
不允许缓冲区更改日志用于所有缓冲区。 |
缓冲区更改日志文件写入逻辑名 TPU$JOURNAL 定义的目录中。按照默认,这个目录是 SYS$SCRATCH,通常是在您的顶级 (注册) 目录。可以重新定义 TPU$JOURNAL 逻辑名,使日志文件写入不同目录。例如,以下命令建立一个子目录 [USER.JOURNAL],然后把 TPU$JOURNAL 定义为这个子目录:
$ CREATE/DIRECTORY [USER.JOURNAL]
$ DEFINE TPU$JOURNAL [USER.JOURNAL]
|
可以把这个定义放入 LOGIN.COM 文件中。
缓冲区更改日志文件可能相当大 (甚至比编辑的文本文件还要大)。因为缓冲区更改日志文件的潜在大小并且因为每个文本缓冲区有一个日志文件,因此可能需要把 TPU$JOURNAL
定义为大磁盘上的目录或子目录,而不是 SYS$SCRATCH。
导出缓冲区更改日志名
缓冲区更改日志文件名得自正在编辑的文件或缓冲区名称和用于操作系统的默认文件类型。要找出当前缓冲区日志文件的名称,在 EVE 提示下输入 SHOW 命令。SHOW 命令显示输入文件、输出文件、日志文件的名称和当前缓冲区的其他有关信息。
表 8-12 展示缓冲区更改日志文件名。
表 8-12 缓冲区更改日志文件名
文本缓冲区名 |
缓冲区更改日志文件 |
JABBER.TXT
|
JABBER_TXT.TPU$JOURNAL
|
GUMBO_RECIPE.RNO
|
GUMBO_RECIPE_RNO.TPU$JOURNAL
|
MAIN
|
MAIN.TPU$JOURNAL
|
LATEST NEWS
|
LATEST_NEWS.TPU$JOURNAL
|
使用缓冲区更改日志恢复编辑
使用缓冲区更改日志文件,有两种方法恢复您的编辑:
- 调用
EVE 时,在 EDIT 命令行上使用 /RECOVER 限定词。
- 在 EVE 中使用 RECOVER BUFFER 命令。
在以下例子中,当一个系统失败中断编辑对话期时,您正在编辑一个文件 JABBER.TXT。于是您使用系统恢复命令恢复您的编辑。
$ EDIT JABBER.TXT
.
.
.
*** system failure ***
.
.
.
$ EDIT JABBER.TXT/RECOVER
|
使用 RECOVER BUFFER 命令
要使用恢复缓冲区命令,遵照这个过程:
步骤 |
任务 |
1
|
调用 EVE 并输入以下命令恢复文本: Command: RECOVER BUFFER
file-name.txt
如果缓冲区更改日志文件是可用的,EVE
展示以下信息并问是否想要恢复该缓冲区: 缓冲区名
缓冲区的原始输入文件,如果有 缓冲区的输出文件,如果有 恢复的源文件,如果有
编辑对话期的开始日期和时间 日志文件的建立日期和时间
|
2
|
按下 Enter 键恢复缓冲区。 如果不想恢复缓冲区,则键入 No 并按下 Enter
键。如果删除或重新命名恢复的源文件,则恢复失败。源文件是最初读入缓冲区的文件 (如果有) 或者是在系统失败之前最后写入的文件。 如果存在您想要恢复的缓冲区好(通常是 Main 缓冲区),EVE 首先删除那个缓冲区,然后进行恢复。如果想要恢复的缓冲区已被修改,那么 EVE
问您是否在恢复之前删除这个缓冲区。 |
文件名不肯定时如何恢复
如果缓冲区名或日志文件名不肯定,则指定星号 (*) 通配符,如下所示:
Command: RECOVER BUFFER *
|
于是,EVE
显示一个所有可用日志文件列表,您可以从中挑选一个。这个列表出现在 EVE 系统缓冲区 $CHOICES$
中并在第二个窗口显示。有关使用 $CHOICES$
缓冲区的详情,请参阅 EVE 联机求助的题目: Choices Buffer。
如何恢复所有缓冲区
要恢复所有文本缓冲区 (每次一个),使用 RECOVER
BUFFER ALL 命令。于是 EVE
尝试恢复每个有缓冲区更改日志的文本缓冲区。其效果与重复使用不指定缓冲区名或日志文件名的 RECOVER BUFFER 命令一样。对于每个文本缓冲区,EVE 显示一些信息,例如缓冲区名、与缓冲区关联的文件和建立日志文件的时间和日期。EVE 提示您输入以下之一:
响应 |
效果 |
Yes
|
恢复缓冲区,然后请问您是否恢复下一个缓冲区 (如果有)。这是默认响应。按下 Enter 键。 |
No
|
跳过这个恢复。如果有另一个要恢复的缓冲区,那么 EVE
问您其他缓冲区。 |
Quit |
取消 --- 不恢复缓冲区,并且不继续恢复操作。 |
撤消缓冲区更改日志
使用 SET NOJOURNALING
命令,可以撤消对特定缓冲区的缓冲区更改日志。要撤消所有缓冲区的缓冲区更改日志,使用 SET NOJOURNALING ALL 命令。
允许缓冲区更改日志
如果已撤消缓冲区更改日志,使用 SET JOURNALING
命令可以允许记日志。以下命令允许缓冲区 JABBER.TXT 记日志:
Command: SET JOURNALING JABBER.TXT
|
如果调用 EVE
时没有日志,然后想要在编辑对话期间允许缓冲区更改日志,那么使用 SET
JOURNALING ALL 命令 (这是 EVE 默认的设置)。
如果缓冲区已被修改,您不能允许缓冲区更改日志。在这种情况下,EVE 显示以下消息:
Command: SET JOURNALING MEMO.TXT
Buffer MEMO.TXT is not safe for journaling
|
应该首先使用 WRITE FILE 或 SAVE FILE 命令写入 (保存)
缓冲区,然后才允许记日志。8.17 EVE 格式化命令的
EVE 提供格式化文本的命令: 设置页边距、制表符和字绕接。可以行对中、去掉文本的额外白空格和插入分页符。
表 8-13 展示 EVE 编辑键并描述其功能。
表 8-13 EVE 编辑键及其功能
键或组合键 |
功能 |
Return 或 Ctrl/M
|
在当前位置插入一个回车,开始一个文本新行或者终止键入的命令。在 VT200、VT300 和 VT400 系列终端上,EVE 也定义 Enter 键为
Return。 |
Tab 或 Ctrl/I
|
根据制表符模式在当前位置插入一个制表符,并在当前设置的制表符停止列插入一个制表符。 |
Ctrl/L
|
在当前位置插入一个换页字符,标记新页的开始。分页符出现为一个小的双 F (FF),并且总是自占一行。与 INSERT PAGE BREAK 一样。 |
表 8-14 展示 EVE
文本格式化命令及其功能。
表 8-14 EVE 文本格式化命令及其功能
命令 |
功能 |
CAPITALIZE WORD
|
更改字母大小写,使第一个字母为大写字母而其余字母为小写字母。适用于范围、框或单个字。 |
CENTER LINE
|
使当前行在左和右页边距间居中。光标跟随这行移动,当行移动时,光标保持在同一字符上。 |
CONVERT TABS
|
在一个框、范围或整个缓冲区中,把制表符转换为适当数目的空格。 |
FILL
|
根据缓冲区的页边距,重新格式化当前段落、范围或框,使最大数目的字放入一行中。当填充一个选择范围或找到的范围时,FILL 或 FILL RANGE 命令不重新格式化开始于分页符、DIGITAL Standard Runoff (DSR) 命令或 DOCUMENT 标签的文本行;但要重新格式化范围中的其他行。填充范围不删除空白行。有关选择范围的详情,请参阅
8.9 节。 |
FILL PARAGRAPH
|
根据缓冲区的页边距设置,重新格式化光标所在的段落。当填充一个段落时,FILL 命令不重新格式化开始于分页符、DSR 命令或 DOCUMENT
标签的文本行;但要重新格式化段落中的其他行。
|
FILL RANGE
|
根据当前页边距设置,重新格式化范围或框。填充一个选择范围或找到的范围时,FILL 或 FILL RANGE 命令不重新格式化开始于分页符、DSR 命令
或 DOCUMENT 标签的文本行;但要重新格式化范围中的其他行。填充范围不删除空白行。
|
INSERT PAGE BREAK
|
在当前位置插入一个换页字符,标记新页的开始。分页符出现为一个小的双 F (FF),并且总是自占一行。按照默认,Ctrl/L 定义为 INSERT
PAGE BREAK。 |
LOWERCASE WORD
|
把当前字、范围或框更改为小写字母。 |
PAGINATE
|
为 54 行的页插入一个 "软" 分页符。软分页符出现为一个换页符后面跟随空字符 (FF NL)。输入 PAGINATE 命令时,EVE
退回到上一个分页符 (如果有),然后向前检查在下一个 54 行内的分页符。如果在那些 54 行中找到软分页符,EVE
就除去它们。然后 EVE 向下移动 54
行,插入一个软分页符,并把光标放在下一行。插入的软分页自占一行。如果在这 54 行中找到一个硬分页符 (只是换页符),EVE
就停止在硬分页符之后的一行,在这种情况下,就要擦除这个分页符。 |
SET LEFT MARGIN
|
设置当前缓冲区的左页边距。左页边距必须大于 0 但要小于右页边距。按照默认,左页边距是 1 (最左边的列)。 |
SET RIGHT MARGIN
|
设置当前缓冲区的右页边距。右页边距必须大于左页边距。按照默认,右页边距比宽度小
1。宽度通常是 80,因而默认右页边距通常是 79。 |
SET PARAGRAPH INDENT
|
指定要添加到建立的或重新格式化的段落中第一行的空格数目,或从中减去的空格数目。默认是 0 (不缩进)。 |
SET TABS AT
|
把制表符停止列设置在指定的列。这些列号必须是升序并且用空格分开。按照默认,每 8 列设置一个制表符停止列。这个命令不影响终端的硬件制表符设置。
|
SET TABS EVERY
|
按指定间隔设置制表符停止列。按照默认,每 8 列设置一个制表符停止列。这个命令不影响终端的硬件制表符设置。 |
SET TABS INSERT
|
默认设置。更改制表符模式以便按下 Tab 键时 EVE
在当前列插入一个制表符。光标和文本移动到下一个制表符停止列。 |
SET TABS MOVEMENT
|
更改制表符模式,以便 Tab 键成为一个光标移动键。按下 Tab 键移动光标到下一个制表符停止列,但不插入一个制表符。 |
SET TABS SPACES
|
更改制表符模式,以便当按下 Tab
键时插入适当数目的空格而不是一个制表符。以前存在的制表符不受影响。 |
SET TABS INVISIBLE
|
默认设置。使制表符在屏幕上不可见,出现为白空格。 |
SET TABS VISIBLE
|
使制表符在屏幕上可见,出现为一个小的 HT
(水平制表符)。 |
SET NOWRAP
|
撤消在缓冲区右页边距上的字绕接。要开始新行,按下 Enter 键或使用 FILL 命令。 |
SET WRAP
|
默认设置。允许在缓冲区右页边距上的字绕接。EVE 开始新行,而不用按下 Enter 键或使用 FILL 命令。 |
UPPERCASE WORD
|
把当前字、范围或框更改为大写字母。 |
8.18 使用缓冲区
缓冲区是只在编辑对话期间存在的存储区域。编辑一个现有文件时,EVE 把文件的内容读入缓冲区。突出显示的状态行包含缓冲区名、编辑状态 (只读或写入)、编辑模式 (插入或重键) 和方向 (正向或反向)。
表 8-15 描述用于建立、处理和删除缓冲区的 EVE 命令。
表 8-15 处理缓冲区的 EVE 命令
命令 |
功能 |
BUFFER
|
把指定的缓冲区放入当前窗口,并把光标移到它在那个缓冲区占据的最后位置。如果指定的缓冲区不存在,就建立一个新缓冲区。 |
DELETE BUFFER
|
按名称删除指定的缓冲区。 |
GET FILE
或 OPEN
|
把指定文件放入当前 EVE
窗口,如果有必要就建立新缓冲区。如果这个文件存在,EVE 就把它复制到在当前窗口中的一个新缓冲区。如果这个文件不存在,EVE
就建立一个新的空缓冲区,并为缓冲区名使用这个文件名和文件类型。如果已经有一个同名的缓冲区,EVE
就要问一个不同的名称。 |
GO TO
|
返回光标到 MARK
命令标号的位置。如果标号的位置在另一个缓冲区找到,EVE
就移动光标到那个缓冲区并且把它放入当前窗口。(8.18.5
节解释在编辑对话期间如何使用多个缓冲区。) |
INCLUDE FILE
|
把指定文件的内容插入到当前缓冲区的光标位置的上一行。这有助于组合文件。 |
NEW
|
建立新的缓冲区 Main 并把它放入当前窗口。如果缓冲区 Main 已经存在,EVE
就问新缓冲区的名称。 |
NEXT BUFFER
|
把下一个缓冲区 (如果存在)
放入当前窗口,并把光标移到它在那个缓冲区占据的最后位置。这个命令让您从一个缓冲区移动到另一个而不必指定缓冲区名。 |
OPEN SELECTED
|
打开其名称已选定或找到的文件。这个命令与使用 GET FILE 或 OPEN 命令一样,不必键入文件名。 |
REMOVE
或 CUT
|
如果您处于缓冲区列表缓冲区中,那么与 DELETE BUFFER 一样。使用如下
REMOVE 命令删除一个缓冲区而不必键入缓冲区名: 输入 SHOW BUFFERS 命令 (使您处于缓冲区列表缓冲区中),移动光标到要删除的缓冲区名,并输入 REMOVE 命令。 |
SAVE FILE
|
把当前缓冲区的内容写入与缓冲区关联的文件但不结束编辑对话期。如果使用 SAVE FILE 命令时不指定文件名,那么 EVE
提示输入您输入输出文件说明。类似于 WRITE FILE。 |
SAVE FILE AS
|
把当前缓冲区的内容写入指定的文件但不结束编辑对话期。例如,如果正在编辑文件 FIRST.DAT,可以把它保存为 SECOND.TXT。这个命令不更改缓冲区名。然而,它把缓冲区与您命名的文件关联,使得任何后续的 SAVE FILE、WRITE
FILE 或 EXIT 命令把缓冲区写入您命名的文件。这个命令需要您提供一个文件说明。 |
SELECT
或 RETURN
|
如果处于缓冲区列表缓冲区,选择指定的缓冲区。使用如下 SELECT
命令选择一个缓冲区而不必键入缓冲区名: 输入 SHOW BUFFERS 命令,移动光标到要选择的缓冲区名,并输入 SELECT 命令。 |
SET BUFFER
|
指定缓冲区的编辑状态: 缓冲区是否可以修改,或者当退出 EVE 时可以写入一个文件。 |
SHOW
|
显示在编辑对话期间建立的缓冲区信息。如果在编辑对话期间有一个以上缓冲区是活动的,那么 SHOW 命令显示当前编辑缓冲区的信息。有关其他活动缓冲区的信息,按下 Do 键。要恢复编辑,按下任何其他键。 |
SHOW BUFFERS
|
列出在编辑对话期间建立的缓冲区。可以在列表中移动光标,并且通过按下 Select 键指定一个特定缓冲区来观看。 |
SHOW DEFAULTS BUFFER
|
展示有关 EVE 系统缓冲区 $DEFAULTS$
的信息,如页边距、制表符停止列、方向、模式和最大行数。建立新缓冲区时使用这些默认设置。 |
SHOW SYSTEM BUFFERS
|
列出 EVE 建立的系统缓冲区,例如消息缓冲区、求助缓冲区、Insert Here 缓冲区和 $RESTORE$ 缓冲区。可以在列表中移动光标,并且通过按下 Select 键指定一个缓冲区来观看。
|
WRITE FILE
|
把当前缓冲区的内容写入与缓冲区关联的文件或在命令行中指定的文件,但不结束编辑对话期。如果当前缓冲区没有一个文件说明与之关联,那么 EVE
提示您输入一个输出文件说明。类似于 SAVE FILE。 |
|