这是命令 samplan9,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
sam, B, E, sam.save, samterm, samsave - 带有结构正则表达式的屏幕编辑器
概要
SAM [ 选项 ... [ 档 ]
SAM -r
保存
B 文件[:线] ...
E 文件
商品描述
Sam 是一个多文件编辑器。 它修改外部文件的本地副本。 副本是
这里称为 文件. 文件列在菜单中,可通过鼠标按钮 3 或
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 n 命令。 每个文件都有一个关联的名称,通常是外部文件的名称
从中读取它,以及一个“修改”位,指示编辑器的文件是否
同意外部文件。 外部文件不会读入编辑器的文件,直到
它首先成为当前文件——编辑命令应用到的文件——因此它的菜单
打印条目。 选项是
-a 自动缩进。 在这种模式下,当在终端中输入换行符时
接口, 学期 将当前行的前导空白复制到新行。
-d 不要“下载”终端部分 SAM. 编辑将使用命令完成
仅语言,如 ed(1)。
-r
在指定机器上远程运行主机部分,本地运行终端部分。
-s 径
从远程主机上的指定文件启动主机部分。 只有有意义
与 -r 选项。
-t 径
从指定的文件启动终端部分。 用于调试。
原价 表达式
正则表达式如 正则表达式(7) 加上 \n 来表示换行符。 一种
正则表达式可能永远不会包含文字换行符。 空的常规
表达式代表遇到的最后一个完整的表达式。 中的正则表达式
SAM 匹配表达式正式匹配的最长最左边的子字符串。 搜索
反方向相当于用catenation向后搜索
表达式中的反向操作。
地址
地址标识文件中的子字符串。 在下面,`字符 n' 的意思是
后面的空字符串 n- 文件中的第一个字符,其中 1 是文件中的第一个字符。
`线 n' 的意思是 n-th 匹配,从文件的开头开始,常规的
表达式 所有文件总是有一个当前的子串,叫做点,这是默认的
地址。
简易 地址
#n 字符后的空字符串 n; #0 是文件的开头。
n Line n; 0 是文件的开头。
/正则表达式/
?正则表达式?
正则表达式匹配的子串,向尾查找
(/) 或开始 (?) 的文件,如有必要,继续从
另一端到搜索的起点。 匹配的子串可能跨越
起点。 当输入包含文字问号的模式时
向后搜索,应将问号指定为类的成员。
0 第一个完整行之前的字符串。 这不一定是空字符串;
请点击 + 和 - 联络一位教师
$ 文件末尾的空字符串。
. 点。
' 文件中的标记(参见 k 命令如下)。
"正则表达式"
在简单地址之前(默认 .),指的是在
菜单行与正则表达式匹配的唯一文件。
复合肥产线 地址
在下面的, a1 和 a2 是地址。
a1+a2 地址 a2 在结束时开始评估 a1.
a1-a2 地址 a2 从一开始就逆向评估
of a1.
a1,a2 开头的子串 a1 到 a2。 如果 a1 不见了, 0 is
取代。 如果 a2 不见了, $ 被取代。
a1;a2 喜欢 a1,a2,但与 a2 在结束时评估,并将点设置为, a1.
运营商 + 和 - 是高优先级,而 , 和 ; 是低优先级。
同时 + 和 - 表格,如果 a2 是缺少数字的行或字符地址,
数字默认为 1。如果 a1 丢失,被替换。 如果两者 a1 和 a2 存在
并且有辨识度, + 可以省略。 a2 可能是正则表达式; 如果它被分隔
由于影响 + or - 被逆转。
复合地址表示格式错误的子字符串是错误的。 一些有用的
习语: a1+- (a1-+) 选择包含 a1 结尾(开头)的行。 0/正则表达式/
定位文件中表达式的第一个匹配项。 (表格 0;// 设置点
不必要的。) ./正则表达式/ / / 找到表达式的第二次出现,并且
.,/正则表达式/ 扩展点。
命令
在下文中,以斜杠分隔的文本表示由任何可打印的文本分隔的文本
除字母数字外的字符。 可以省略任意数量的尾随定界符,使用
多个省略然后表示空字符串,但第一个分隔符必须始终是
展示。 在任何带分隔符的文本中,换行符可能不会按字面出现; \n 可以输入
新队; 和 \/ 引用分隔符,这里反斜杠按字面解释,
除了在 s 命令。
大多数命令可能以地址为前缀,以指示其操作范围。 那些
可能没有标有下面的。 如果一个命令需要一个地址并且没有提供,
使用点。 唯一的例外是 w 命令,默认为 0,$。 在
描述中,“范围”用于表示所提供的任何地址。 许多命令集
dot 的值作为副作用。 如果是这样,它总是被设置为更改的“结果”:
用于删除的空字符串、用于插入的新文本等(但请参阅 s 和 e
命令)。
文本 命令
a/文本/
or
a
生产线 of 文本
. 在范围之后将文本插入到文件中。 设置点。
c
i 与...一样 a,但 c 替换文本,而 i 插件 before 范围。
d 删除范围内的文本。 设置点。
s/正则表达式/文本/
替代 文本 用于与范围内正则表达式的第一个匹配项。 放
点到修改后的范围。 在 文本 人物 & 代表字符串
匹配表达式。 反斜杠的行为与往常一样,除非后跟一个数字: \d
代表与由开头的子表达式匹配的字符串 d-th 左
插入语。 如果 s 紧随其后的是一个数字 n,如在 s2/x/y/, n第
范围内的匹配被替换。 如果命令后跟一个 g,如在
小号/小号/小号/小号/克,范围内的所有匹配项都被替换。
m a1
t a1 移动 (m) 或复制 (t) 到之后的范围 a1. 设置点。
屏 显: 命令
p 打印范围内的文本。 设置点。
= 打印范围的行地址和字符地址。
=# 仅打印范围的字符地址。
文件 命令
* b 文件列表
将当前文件设置为列表中指定的第一个文件 SAM 也有在其
菜单。 列表可以表示 <计划 9 命令 在这种情况下,文件名是
被视为由 Plan 9 命令生成的单词(在 shell 意义上)。
* B 文件列表
与...一样 b, 除了不在菜单中的文件名在那里输入,所有文件
检查列表中的名称。
* n 打印文件菜单。 格式为:
' 或空白表示文件已修改或干净,
- or + 指示文件未读或已读(在终端中, * 手段
不止一个窗口打开),
. 或空白表示当前文件,
一片空白,
和文件名。
* D 文件列表
从菜单中删除命名文件。 如果没有命名文件,则删除当前文件。
这是一个错误 D 一个修改过的文件,但随后的 D 将删除这样的文件。
I / O 命令
* e 文件名
用指定的外部文件的内容替换该文件。 将点设置为
文件的开头。
r 文件名
用指定的外部文件的内容替换范围内的文本。 设置点。
w 文件名
写入范围(默认 0,$) 到指定的外部文件。
* f 文件名
设置文件名并打印结果菜单项。
如果其中任何一个都没有文件名,则使用当前文件名。 e 时刻
设置文件名; r 和 w 如果文件没有名称,请执行此操作。
< 计划 9 命令
用 Plan 9 命令的标准输出替换范围。
> 计划 9 命令
将范围发送到 Plan 9 命令的标准输入。
| 计划 9 命令
将范围发送到标准输入,并将其替换为标准输出,
计划 9 命令。
* ! 计划 9 命令
运行计划 9 命令。
* cd 目录
更改工作目录。 如果没有指定目录, $家 用来。
在任何一个 <, >, | or !,如果 计划 9 命令 最后省略 计划 9 命令 (任何
类型)被替换。 如果 SAM is 下载 (使用鼠标和光栅显示,即不
使用选项 -d), ! 将标准输入设置为 的/ dev / null的, 否则未分配的输出
(标准输出 ! 和 >, 斯特德 对于所有) 被放置在 /tmp/sam.err 和前几行
被打印。
和 条件语句
x/正则表达式/ 命令
对于范围内正则表达式的每个匹配项,运行带有点集的命令
到比赛。 将点设置为最后一个匹配项。 如果正则表达式及其
斜线被省略,假设。 空字符串匹配可能发生在之前
范围的每个字符和范围的末尾。
y/正则表达式/ 命令
喜欢 x, 但对位于之前、之间或之后的每个子字符串运行命令
将生成的匹配项 x. 没有默认的正则表达式。
空子串可能出现在范围内的每个字符之前。
* X/正则表达式/ 命令
对于菜单项与正则表达式匹配的每个文件,使
当前文件并运行命令。 如果省略表达式,则运行命令
在每个文件中。
* Y/正则表达式/ 命令
与...一样 X, 但对于与正则表达式不匹配的文件,
表达是必需的。
g/正则表达式/ 命令
v/正则表达式/ 命令
如果范围包含 (g) 或不包含 (v) 匹配表达式,设置
点到范围并运行命令。
这些可以任意深度嵌套,但只有一个实例 X or Y 可能出现
在一个命令中。 一个空命令 x or y 默认为 p; 一个空命令 X
or Y 默认为 f. g 和 v 没有默认值。
杂记
k 将当前文件的标记设置为范围。 不设置点。
* q 退出。 用修改过的文件退出是一个错误,但是一秒钟 q 将会成功。
* u n 撤消最后一个 n (默认 1)更改内容或名称的顶级命令
当前文件,以及最近更改同时发生的任何其他文件
当前文件的更改。 连续 u回到过去。 唯一的
对你无效的命令是 cd, u, q, w 和 D。 如果 n 是负面的 u
“重做”,取消撤销,再次按时前进。
(空)
如果范围是明确的,则将点设置为范围。 如果 SAM 已下载,
结果点在屏幕上被选中; 否则打印。 如果没有地址
指定(命令是换行符)点在任一方向扩展到行
边界和印刷。 如果点因此不变,则将其设置为 。+ 1 并打印出来。
分组 和 多 变化
命令可以通过将它们括在大括号中来分组 {}. 大括号内的命令必须
出现在单独的行上(命令之间不需要反斜杠)。 在语义上,一个
左大括号就像一个命令:它需要一个(可选的)地址并为每个子项设置点
命令。 大括号内的命令按顺序执行,但由一个
命令对其他命令不可见(见下一段)。 大括号可以嵌套
任意地。
当命令对文件进行多次更改时,例如 x/re/c/文本/, 的地址
对文件的所有更改都在原始文件中计算。 如果更改在
序列,它们被应用于文件。 在同一地址的连续插入是
按应用顺序连接到由多个插入组成的单个插入中。
- 终端
以下是指行为 SAM 下载时,即作为
在光栅显示上显示编辑器。 这是默认行为; 调用 SAM 与
-d (无下载)选项仅提供对命令语言的访问。
每个文件可能有零个或多个打开的窗口。 每个窗口都是等价的并被更新
同时与同一文件上其他窗口的更改。 每个窗口都有一个
dot 的独立值,由显示屏上突出显示的子字符串指示。 点可能是
在不在窗口内的区域中。 通常有一个“当前窗口”,标有
深色边框,键入的文本和编辑命令适用于该边框。 可以输入和编辑文本
如在 里约热内卢(1); 转义键 (ESC) 也选择(将点设置为)自上次输入的文本
鼠标按钮被击中。
按钮 3 菜单控制窗口操作。 菜单顶部提供以下内容
运算符,每个运算符都使用一个或多个 里约热内卢- 类似光标以提示选择一个
窗口或矩形的扫掠。 “扫描”一个空矩形会得到一个大窗口,
与命令窗口或整个屏幕脱节,具体取决于 null
矩形是。
新 创建一个新的空文件。
ZEROX 创建现有窗口的副本。
调整 如在 里约热内卢.
关闭 删除窗口。 在文件的最后一个窗口中, 关闭 相当于一个 D
文件。
写 相当于一个 w 用于文件。
这些操作符下方是可用文件的列表,以 ~~山姆~~, 命令
窗户。 从列表中选择一个文件使该文件上最近使用的窗口
当前,除非它已经是当前的,在这种情况下选择循环通过打开
视窗。 如果文件上没有打开任何窗口,则会提示用户打开一个。 文件
以外 ~~山姆~~ 用其中一个字符标记 -+* 根据为零、一或
文件上打开了更多窗口。 进一步的标记出现在当前文件上
窗口和单引号, ', 在自上次写入后修改的文件上。
命令窗口,自动创建时 SAM 开始,是一个普通的窗口,除了
输入的文本被解释为编辑器的命令而不是被动文本,
并且由编辑器命令打印的文本出现在其中。 行为就像 里约热内卢,与
“输出点”将输入的命令与之前的输出分开。 键入的命令
在命令窗口中应用到当前打开的文件——最近当前打开的文件
窗口。
操纵 文本
按钮 1 更改选择,很像 里约热内卢. 指向带有按钮 1 的非当前窗口
使其成为当前; 在当前窗口中,按钮 1 选择文本,从而设置点。
双击选择文本到单词、行、带引号的字符串或
括号内的字符串,取决于单击时的文本。
按钮 2 提供了一个编辑命令菜单:
切 删除点并将删除的文本保存在 snarf 缓冲区中。
糊 用 snarf 缓冲区的内容替换 dot 中的文本。
纳尔夫 将文本以 dot 形式保存在 snarf 缓冲区中。
垂直 将选择中的文本作为铅垂消息发送。 如果选择为空,则
以空格分隔的文本块作为铅垂消息发送 点击
定义选择所在位置的属性(请参阅 垂直(7))。
看 向前搜索 dot 中下一次出现的文字文本。 如果点是
null 字符串,则使用 snarf 缓冲区中的文本。 snarf 缓冲区不受影响。
交换 snarf 缓冲区 里约热内卢.
/正则表达式
向前搜索在 a 中键入的最后一个正则表达式的下一个匹配项
命令。 (不在命令窗口中。)
提交 如果 dot 是空字符串,则以 dot 或 snarf 缓冲区发送文本,就好像它是
在命令窗口中输入。 将发送的文本保存在 snarf 缓冲区中。 (命令
仅窗口。)
外置 场外通讯
Sam 听 编辑 铅垂端口。 如果管道未激活,则在调用时 SAM 创建
命名管道 /srv/山姆。用户 它充当命令的附加源。 人物
写入命名管道的内容被视为已在命令窗口中键入。
B 是一个 shell 级命令,它导致一个实例 SAM 在同一个终端上运行
加载命名 档. B 使用管道或命名管道,无论哪种服务
可用的。 如果未启用管道,则该选项允许指定行号
用于在最后命名的文件中显示的初始位置(管道提供了更多
此能力的一般机制)。
E 是一个 shell 级命令,可以用作 $编辑器 在 Unix 环境中。 它运行 B
on 文件 然后不退出直到 文件 被改变,这被视为一个信号 文件
完成编辑。
异常 终止
If SAM 以其他方式终止 q 命令(通过挂断、删除其窗口等),
修改后的文件保存在一个可执行文件中, $HOME/sam.save. 这个程序,当
执行,询问是否将每个文件写回外部文件。 答案导致
写作; 其他任何内容都会跳过该文件。
使用 onworks.net 服务在线使用 samplan9