自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在 Linux 終端上使用行編輯器 ed

系統(tǒng) Linux
如果你正在使用 Linux 或者 BSD 的話,你很可能已經(jīng)默認(rèn)安裝了 ed(在 Linux 上是 GNU 版 ed,而在 BSD 上是 BSD 版 ed)。但是,一些極簡(jiǎn)的環(huán)境可能沒(méi)有包括 ed,這也沒(méi)關(guān)系,你的發(fā)行版的軟件倉(cāng)庫(kù)中很可能有 ed 可供下載。macOS 默認(rèn)安裝了 BSD 版 ed。

這個(gè)看似簡(jiǎn)單的編輯器為用戶提供了許多易于學(xué)習(xí)和使用的命令。

GNU ed 命令是一個(gè)行編輯器。它被認(rèn)為是標(biāo)準(zhǔn)的 Unix 文本編輯器,因?yàn)樗鞘讉€(gè)出現(xiàn)在 Unix 的文本編輯器,并且它曾經(jīng)無(wú)處不在,你在任何一個(gè) POSIX 系統(tǒng)中都能找到它(通常來(lái)說(shuō),你現(xiàn)在也可以)。在某種程度上,你可以很容易看出來(lái)它是第一個(gè)文本編輯器,因?yàn)樗谠S多方面的功能都十分基礎(chǔ)。和其他大多數(shù)的文本編輯器不同,它不會(huì)打開(kāi)一個(gè)屬于自己的窗口或顯示區(qū)域,事實(shí)上,在默認(rèn)情況下,它甚至不會(huì)提示用戶輸入文字。從另一個(gè)方面來(lái)說(shuō),它在交互功能上的缺失也可以成為一個(gè)優(yōu)點(diǎn)。它是一個(gè)多功能的編輯器,你可以用簡(jiǎn)短的命令控制它,無(wú)論是在交互式的命令行中,還是在編寫的 shell 腳本里。

安裝 ed

如果你正在使用 Linux 或者 BSD 的話,你很可能已經(jīng)默認(rèn)安裝了 ed(在 Linux 上是 GNU 版 ed,而在 BSD 上是 BSD 版 ed)。但是,一些極簡(jiǎn)的環(huán)境可能沒(méi)有包括 ed,這也沒(méi)關(guān)系,你的發(fā)行版的軟件倉(cāng)庫(kù)中很可能有 ed 可供下載。macOS 默認(rèn)安裝了 BSD 版 ed。

啟動(dòng) ed

當(dāng)你啟動(dòng) ed 的時(shí)候,你的終端提示符不見(jiàn)了,看起來(lái)好像是 ed 停止運(yùn)行了。其實(shí)它沒(méi)有,它只是在等待你輸入指令而已。

$ ed

為使 ed 顯示更詳細(xì)的信息,你可以輸入命令 p 讓它返回一個(gè)提示符:

    $ ed
p
?

這個(gè)問(wèn)號(hào)(?)是默認(rèn)的 ed 提示符。

緩沖區(qū)

當(dāng) ed 激活時(shí),你其實(shí)是在和一個(gè)叫 緩沖區(qū)buffer 的東西打交道。緩沖區(qū)是內(nèi)存中的一塊區(qū)域。你并不會(huì)直接編輯文件,而是在編輯它對(duì)應(yīng)的緩沖區(qū)。當(dāng)你退出 ed 卻沒(méi)有把修改保存到磁盤的文件上時(shí),所有的修改都會(huì)丟失,因?yàn)樗鼈冎辉诰彌_區(qū)里存在。(這對(duì)于一個(gè)已經(jīng)習(xí)慣了初始的 草圖緩沖區(qū)scratch buffer 的資深 Emacs 用戶可能很耳熟。)

使用 ed 輸入文本

啟動(dòng) ed 后,你處于命令模式。這意味著你可以向編輯器發(fā)送指令,比如讓它顯示一個(gè)提示符,而不是空白區(qū)域。你可以使用 a 命令開(kāi)始附加文本到當(dāng)前的緩沖區(qū),使用一個(gè)實(shí)心的點(diǎn) . 來(lái)終止輸入。比如,下面的這個(gè)例子往緩沖區(qū)里附加了兩行文字(“hello world” 和 “hello ed”):

    ?
a
hello world
hello ed
.

使用點(diǎn) . 終止輸入后,你將回到命令模式。

查看緩沖區(qū)

怎樣查看當(dāng)前緩沖區(qū)里都有什么呢?你可以輸入想要查看的行號(hào),也可以使用 ,p 命令來(lái)顯示所有的行:

    ?
1
hello world
2
hello ed
,p
hello world
hello ed

寫入文件

如果你現(xiàn)在對(duì)文本很滿意,你可以使用 w 命令把緩沖區(qū)寫入到文件中,后面跟上目標(biāo)文件名:

    ?
w example.txt
19

寫操作后顯示的那個(gè)數(shù)字代表著寫入到文件中的字符數(shù)。

讀取文件

除了使用 ed 來(lái)讀取文本,你也可以使用 r 命令把一個(gè)已經(jīng)存在的文件加載到到緩沖區(qū)里:

    ?
r myfile.txt

另外,你也可以在啟動(dòng) ed 時(shí),在它后面加上你想要加載到緩沖區(qū)里的文件名:

$ ed myfile.txt

編輯緩沖區(qū)

鑒于 ed 是一個(gè)文本編輯器,你當(dāng)然可以使用一種特殊的語(yǔ)法來(lái)編輯緩沖區(qū)里的文本。使用 sed 或 vim 的用戶或許會(huì)覺(jué)得這個(gè)語(yǔ)法很熟悉。假設(shè)現(xiàn)在緩沖區(qū)里已經(jīng)加載了一個(gè)文件:

    $ ed myfile.txt
,p
This is an example document.
There is some text, but not much.
There is some errors, but not much.

如果你要把第一句話中的 document 修改為 file,你可以先選擇目標(biāo)行(1),然后使用 s 命令調(diào)用搜索函數(shù),后面跟著搜索文本和替換文本:

    ?
1
This is an example document.
s/document/file/
1
This is an example file.

如果你要編輯其他行,步驟也是一樣的,只需提供一個(gè)不同的行號(hào)即可:

    ?
3
There is some errors, but not much.
s/is/are/
s/much/many/

你可以使用 ,p 命令來(lái)看到你對(duì)緩沖區(qū)的歷史編輯記錄:

    This is an example file.
There is some text, but not much.
There are some errors, but not many.

當(dāng)然,這些修改只存在于緩沖區(qū)里。你如果在 ed 編輯器外查看這個(gè)文件,你只會(huì)看到原始的文本:

    $ cat myfile.txt
This is an example document.
There is some text, but not much.
There is some errors, but not much.

如果你要把這些修改保存回文件中,使用 w 命令即可:

    w myfile.txt
258

清空緩沖區(qū)

如果想要得到一個(gè)新的緩沖區(qū),以此來(lái)打開(kāi)一個(gè)新的文件,或者把一個(gè)新的文件加載到不同的環(huán)境中,你可以使用 c 命令。使用這個(gè)清空緩沖區(qū)后,什么也不會(huì)輸出,因?yàn)榫彌_已經(jīng)是空的了:

    c
,p

退出

如果要退出當(dāng)前的 ed 會(huì)話,你可以使用 q 命令。它并不會(huì)給你一個(gè)保存緩沖區(qū)的機(jī)會(huì),所以你要確保自己在這之前執(zhí)行了保存操作。

嘗試一下 ed 吧

ed 還可以做到很多事情,學(xué)習(xí) ed 可以讓你知道它和部分的 vim 是如何工作的。我并沒(méi)有嘗試使用 ed 來(lái)寫這篇文章,老實(shí)說(shuō),我也不認(rèn)為它是通常意義上的最佳文本編輯器。但是,ed 仍然是一個(gè)出色的編輯器。通過(guò)閱讀它的文檔,你可以很輕松地學(xué)會(huì)它。在 GNU 系統(tǒng)上,你可以使用 info ed 來(lái)查看它的操作手冊(cè)。

責(zé)任編輯:未麗燕 來(lái)源: Linux中國(guó)
相關(guān)推薦

2020-11-23 05:50:40

瀏覽器Web瀏覽器Linux

2021-01-08 13:56:50

LinuxJOE文本編輯器

2021-06-17 16:20:05

LinuxHelix文本編輯器

2022-06-12 16:05:22

vimLinux

2009-12-25 13:00:47

Linux編輯器Vi

2020-12-09 12:20:37

Jed文本編輯器Linux

2018-05-11 14:59:21

LinuxVim編輯器

2009-11-26 17:37:37

Linux編輯器

2022-04-20 10:43:24

Linux命令

2021-07-23 16:15:35

Linux編輯器代碼

2009-02-26 08:54:50

FCKeditorHTML編輯器

2020-09-27 08:43:33

MuPythonturtle 模塊

2024-01-03 15:28:37

Linuxnano編輯器

2009-10-27 16:47:58

linux vi編輯器

2010-03-24 09:20:07

CentOS vi編輯

2018-02-09 09:58:41

Linux編輯器Vi

2021-01-07 11:00:59

Sed文本編輯器Linux

2018-01-25 18:30:05

編輯器ViVim

2009-10-26 10:47:57

linux vi編輯器

2023-01-20 08:53:11

Linux文本編輯器終端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)