在vi和vim等基于屏幕的编辑器出现之前,你知道存在什么类型的编辑器吗?嗯,这些被称为行编辑器。它们是在计算机没有视频显示器的时候使用的,这意味着交互式编辑是不可能的。一个这样的编辑器是ed,它早在1969年就开发出来了。
ed编辑器仍然随许多Linux发行版一起提供。无论出于什么原因,如果你想知道如何使用这个工具,你来对地方了,在本教程中,我们将使用一些易于理解的示例讨论这个工具的基础知识。但在我们这样做之前,请注意,这里提到的所有示例和说明都已在Ubuntu 16.04LTS上进行了测试。
Linux ed命令
该工具的手册页简单地将其描述为“面向行的文本编辑器”。以下是它的语法:
ed [options] [file]
以下Q&A类型的示例应该能更好地了解该工具及其使用方法。
Q1.如何开始使用ed?
要启动编辑器,请执行以下命令:
ed
这就是运行上述命令时终端空间的样子:

因此,默认情况下,编辑器会为您创建一个空缓冲区进行写入,类似于您在没有文件名的情况下调用它时任何其他基于视觉或命令行的编辑器的工作方式。
在开始输入任何内容之前,请按“a”。写完东西后,输入一个句点(.)向编辑器表示这一点。以下截图将使事情更加清楚:

因此,如果你曾经使用过vi或vim,你可以想到最初的“a”和最后的“a。”作为进入和退出插入模式的方式。现在,要将缓冲区保存在文件中,请使用“w”后跟您选择的文件名,然后使用“q”退出编辑器。

要交叉检查文件是否已创建,请使用cat命令:

现在,如果你需要再次编辑同一个文件,你可以通过将文件名作为参数传递给ed命令,然后按照我们上面讨论的相同过程来完成。

Q2.如何更改特定行?
现在我们已经了解了使用ed进行基本编辑,让我们继续讨论其他编辑方面。例如,您将如何对特定行进行更改?
键入’p’会显示当前行(控件当前所在的行):

但’n’甚至更好,因为它也会给你行号:

要控制其他行,请输入相应的行号,或使用+或-符号进行相对移动。例如,要将控件从第3行移动到第1行,可以直接输入1:

或者您可以键入“-2”

现在转到原始要求,一旦到达要进行更改的行,您可以通过再次键入文本输入“c”来更改该行。例如,我更改了第一行,将“Hi”改为“Hello”

之后,我保存了文件,并分别使用’w’和’q’退出编辑器。并使用cat命令交叉检查了更改:

请注意,命令“a”允许您在当前行之后输入一行。但是,如果您想在当前行之前输入一行,请使用“i”命令。此外,要删除行,请使用“d”命令(如果要删除的行不是当前行,请在其前面加上相应的行号)。
Q3.如何让ed默认显示错误消息?
当您键入ed无法理解的内容时,默认情况下会显示一个问号(?)。

为了使响应更加用户友好,您可以要求编辑器打印错误,您可以通过输入“h”命令来执行此操作:

如果你想让这个错误报告成为编辑器的默认行为,请使用“H”命令:

Q4.如何让ed有自己的命令提示符?
如果你想让ed有自己的提示,请使用P命令。

如您所见,默认情况下,提示为*。但是,如果需要,可以在运行ed命令时使用-p选项设置自定义提示。例如,以下示例显示了如何使用%符号作为提示。

Q4.如何执行复制和移动操作?
要复制一行并将其粘贴到其他位置,请使用“t”命令。您需要在“t”前面加上要复制的行的行号,并附加目标行号。例如,要将第2行复制到位置0,请使用以下命令:
2t0
移动操作的工作原理也类似,只是你需要使用’m’而不是’t’。
Q5.如何执行搜索操作?
搜索很容易。要向前搜索,请输入/,后跟搜索关键字。按下enter键的那一刻,编辑器将显示它遇到的第一行(包含关键字)。您可以再次运行该命令以继续搜索。

结论
同意,ed不是用户友好的,但只有当你将其与当今所有可用的替代品进行比较时,这才是一个限制。所以,可以肯定地说,这位编辑并不适合所有人。但是,如果你在一个需要使用行编辑器的设置中,本教程应该会给你一个良好的开端。如需更多信息,请访问该工具的手册页,或阅读GNU手册。
相关文章
-
扫码下载安卓APP
-
微信扫一扫关注我们
微信扫一扫打开小程序
手Q扫一扫打开小程序
-
返回顶部
发表评论