From c66f4a1d026a90f1a74cdf675c89c190089de586 Mon Sep 17 00:00:00 2001 From: lkxed Date: Tue, 29 Mar 2022 21:20:44 +0800 Subject: [PATCH] Update 20201212 Power up your Linux terminal text editor with ed.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 参考了 Vim 的中文提示,把文章里的“缓存”和“缓冲”统一翻译成“缓冲区”。 --- ...your Linux terminal text editor with ed.md | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/translated/tech/20201212 Power up your Linux terminal text editor with ed.md b/translated/tech/20201212 Power up your Linux terminal text editor with ed.md index 343c1581ca..0285b15ff1 100644 --- a/translated/tech/20201212 Power up your Linux terminal text editor with ed.md +++ b/translated/tech/20201212 Power up your Linux terminal text editor with ed.md @@ -12,7 +12,7 @@ 这个看似简单的编辑器为用户提供了许多易于学习和使用的命令。 ![Terminal command prompt on orange background][1] -GNU `ed` 命令是一个行编辑器。它被认为是标准的 Unix 文本编辑器,因为它是首个出现在 Unix 的文本编辑器,并且它曾经无处不在,你在任何一个 POSIX 系统中都能找到它(通常来说,你现在也可以)。在某种程度上,你也可以很容易看出来它是第一个文本编辑器,因为它在许多方面的功能都十分基础。和其他大多数的文本编辑器不同,它不会打开一个属于自己的窗口或显示区域,事实上,在默认情况下,它甚至不会提示用户输入文字。从另一个方面来说,它在交互功能上的缺失也可以成为一个优点。它是一个多功能的编辑器,你可以用简短的命令控制它,无论是在交互式的命令行中,还是在编写的 shell 脚本里。 +GNU `ed` 命令是一个行编辑器。它被认为是标准的 Unix 文本编辑器,因为它是首个出现在 Unix 的文本编辑器,并且它曾经无处不在,你在任何一个 POSIX 系统中都能找到它(通常来说,你现在也可以)。在某种程度上,你可以很容易看出来它是第一个文本编辑器,因为它在许多方面的功能都十分基础。和其他大多数的文本编辑器不同,它不会打开一个属于自己的窗口或显示区域,事实上,在默认情况下,它甚至不会提示用户输入文字。从另一个方面来说,它在交互功能上的缺失也可以成为一个优点。它是一个多功能的编辑器,你可以用简短的命令控制它,无论是在交互式的命令行中,还是在编写的 shell 脚本里。 ### 安装 ed @@ -38,13 +38,13 @@ p 这个问号(`?`)是默认的 `ed` 提示符。 -### 缓存 +### 缓冲区 -当 `ed` 激活时,你其实是在和一个叫 _缓存buffer_ 的东西打交道。缓存是内存中的一块区域。你并不会直接编辑文件,而是在编辑它对应的缓存。当你退出 `ed` 却没有把修改保存到磁盘的文件上时,所有的修改都会丢失,因为它们只在缓存中存在。(这听起来可能很耳熟,如果你是一个习惯了初始抓取缓存initial scratch buffer的有经验的 Emacs 用户的话。) +当 `ed` 激活时,你其实是在和一个叫 _缓冲区buffer_ 的东西打交道。缓冲区是内存中的一块区域。你并不会直接编辑文件,而是在编辑它对应的缓冲区。当你退出 `ed` 却没有把修改保存到磁盘的文件上时,所有的修改都会丢失,因为它们只在缓冲区里存在。(这听起来可能很耳熟,如果你是一个习惯了初始抓取缓冲区initial scratch buffer的有经验的 Emacs 用户的话。) ### 使用 `ed` 输入文本 -启动 `ed` 后,你处于命令模式。这意味着你可以向编辑器发送指令,比如让它显示一个提示符,而不是空白区域。你可以使用 `a` 命令开始附加文本到当前的缓存,使用一个实心的点 `.` 来终止输入。比如,下面的这个例子往缓存中附加了两行文字(“hello world” 和 “hello ed”): +启动 `ed` 后,你处于命令模式。这意味着你可以向编辑器发送指令,比如让它显示一个提示符,而不是空白区域。你可以使用 `a` 命令开始附加文本到当前的缓冲区,使用一个实心的点 `.` 来终止输入。比如,下面的这个例子往缓冲区里附加了两行文字(“hello world” 和 “hello ed”): ``` @@ -57,9 +57,9 @@ hello ed 使用点 `.` 终止输入后,你将回到命令模式。 -### 查看缓存 +### 查看缓冲区 -怎样查看当前缓存里都有什么呢?你可以输入想要查看的行号,也可以使用 `,p` 命令来显示所有的行: +怎样查看当前缓冲区里都有什么呢?你可以输入想要查看的行号,也可以使用 `,p` 命令来显示所有的行: ``` @@ -75,7 +75,7 @@ hello ed ### 写入文件 -如果你现在对文本很满意,你可以使用 `w` 命令把缓存写入到文件中,后面跟上目标文件名: +如果你现在对文本很满意,你可以使用 `w` 命令把缓冲区写入到文件中,后面跟上目标文件名: ``` @@ -88,7 +88,7 @@ w example.txt ### 读取文件 -除了使用 `ed` 来读取文本,你也可以使用 `r` 命令把一个已经存在的文件加载到到缓存里: +除了使用 `ed` 来读取文本,你也可以使用 `r` 命令把一个已经存在的文件加载到到缓冲区里: ``` @@ -96,16 +96,16 @@ w example.txt r myfile.txt ``` -另外,你也可以在启动 `ed` 时,在它后面加上你想要加载到缓冲里的文件名: +另外,你也可以在启动 `ed` 时,在它后面加上你想要加载到缓冲区里的文件名: ``` $ ed myfile.txt ``` -### 编辑缓冲 +### 编辑缓冲区 -鉴于 `ed` 是一个文本编辑器,你当然可以使用一种特殊的语法来编辑缓存中的文本。使用 `sed` 或 `vim` 的用户或许会觉得这个语法很熟悉。假设现在缓存中已经加载了一个文件: +鉴于 `ed` 是一个文本编辑器,你当然可以使用一种特殊的语法来编辑缓冲区里的文本。使用 `sed` 或 `vim` 的用户或许会觉得这个语法很熟悉。假设现在缓冲区里已经加载了一个文件: ``` @@ -139,7 +139,7 @@ s/is/are/ s/much/many/ ``` -你可以使用 `,p` 命令来看到你对缓存的历史编辑记录: +你可以使用 `,p` 命令来看到你对缓冲区的历史编辑记录: ``` @@ -148,7 +148,7 @@ There is some text, but not much. There are some errors, but not many. ``` -当然,这些修改只存在于缓存中。你如果在 `ed` 编辑器外查看这个文件,你只会看到原始的文本: +当然,这些修改只存在于缓冲区里。你如果在 `ed` 编辑器外查看这个文件,你只会看到原始的文本: ``` @@ -166,9 +166,9 @@ w myfile.txt 258 ``` -### 清空缓存 +### 清空缓冲区 -如果想要得到一个新的缓存,以此来打开一个新的文件,或者把一个新的文件加载到不同的环境中,你可以使用 `c` 命令。使用这个清空缓存后,什么也不会输出,因为缓冲已经是空的了: +如果想要得到一个新的缓冲区,以此来打开一个新的文件,或者把一个新的文件加载到不同的环境中,你可以使用 `c` 命令。使用这个清空缓冲区后,什么也不会输出,因为缓冲已经是空的了: ``` @@ -178,7 +178,7 @@ c ### 退出 -如果要退出当前的 `ed` 会话,你可以使用 `q` 命令。它并不会给你一个保存缓存的机会,所以你要确保自己在这之前执行了保存操作。 +如果要退出当前的 `ed` 会话,你可以使用 `q` 命令。它并不会给你一个保存缓冲区的机会,所以你要确保自己在这之前执行了保存操作。 ### 尝试一下 ed 吧