第 5 章 介绍 ex 编辑器
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
既然这是一本关于vi 和 Vim 的书,为什么我们还要加入关于另一个编辑器的章节呢?其实,ex 并不是另一个编辑器。vi 是更通用、更底层的行编辑器的可视化模式,也就是ex 。当你在vi 中工作时,一些ex 命令可能对你有用,因为它们可以节省你大量的编辑时间。这些命令中的大多数都可以在不离开vi 的情况下使用:您可以将ex 命令行视为常规命令模式和插入模式之外的第三种模式。
我们在前几章中看到的各种vi 动作和文本修改命令都很不错,但如果你只有这些,那还不如使用记事本或类似的东西。 vi 爱好者喜欢vi 的原因是ex :ex 才是力量所在!
备注
Vim 提供了底层的ex 编辑器,并在原有编辑器的基础上做了许多改进。在vi 是 Vim 的系统上,ex 通常也会在ex 模式下调用 Vim。
在第一部分的本章和后续章节中,我们不会对vi 和 Vim 作太多区分,因为这两章中的所有内容都适用于这两种语言。 阅读时,请将 "vi" 视为 "vi 和 Vim" 。
您已经知道如何将文件视为一连串编号行。ex 为您提供了更灵活、范围更广的编辑命令。有了ex ,你可以在文件之间轻松移动,并以多种方式将文本从一个文件传输到另一个文件。你可以快速编辑比一个屏幕还大的文本块。利用全局替换功能,你可以在整个文件中对给定的模式进行替换。
本章介绍ex 及其命令。您将学习如何
-
使用行号在文件中移动
-
使用
ex命令复制、移动和删除文本块 -
保存文件和部分文件
-
处理多个文件(读入文本或命令,在文件之间移动
ex 命令
早在vi 或其他任何屏幕编辑器发明之前, ,人们通过打印终端与计算机进行通信,而不是在今天的位图屏幕上使用指向设备和终端仿真程序。行号是快速识别要处理的文件部分的一种方法,行编辑器就是为了编辑这些文件而发展起来的。程序员或其他计算机用户通常会在打印终端上打印出一行(或多行),然后下达编辑命令对该行进行修改,然后重新打印以检查编辑后的行。1
我们不再在打印终端上编辑文件了,但ex 行编辑器的一些命令对于在ex 基础上构建的更复杂的可视化编辑器的用户仍然有用。虽然使用vi 进行许多编辑更简单,但ex的行方向性使其在对文件的多个部分进行大规模修改时更具优势。
备注
本章中的许多命令都有文件名 参数。虽然可以这样做,但在文件名中使用空格通常不是一个好主意。ex 会非常困惑,而且为了让文件名被接受,你会付出更多的麻烦,得不偿失。使用下划线、破折号或句号来分隔文件名的各个部分,你会更满意。
在开始记忆ex 命令(或者更糟糕的是忽略)之前,让我们先来揭开行编辑器的神秘面纱。了解直接调用ex 时是如何工作的,有助于理解有时晦涩难懂的命令语法。
打开一个你熟悉的文件,并尝试执行几个ex 命令。正如可以在文件上调用vi 编辑器一样,通过在 shell 提示下运行ex 命令,也可以在文件上调用ex行编辑器。如果调用ex ,会看到一条关于文件总行数的信息,以及冒号命令提示符。例如
$ ex practice
"practice" 8L, 261B
Entering Ex mode. Type "visual" to go to Normal mode.
:
除非使用ex命令显示一行或多行,否则文件中看不到任何行。
ex 命令由行地址(可以是简单的行号)和一个命令组成;点击回车键即可完成。最基本的 命令之一是 ,表示打印(打印到屏幕上)。因此,举例来说,如果在提示符下输入 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access