Ed

Ed書籤在全域替換後消失

  • June 7, 2022

ed如果我通過呼叫加上任何其他字母為地址添加書籤k,我可以稍後通過呼叫返回到該地址'+letter。我經常製作這些書籤,尤其是在瀏覽長文件時。

g/vim/s//ed/g但是,如果我創建這樣一個書籤,然後在我嘗試返回添加書籤的地址時執行全域替換(例如),它就會消失並ed給我Invalid address. 這很奇怪,因為特別是在呼叫全域替換之後,人們想返回之前所在的位置,因為全域替換重置dot到最後編輯的行。

我在這裡錯過了什麼嗎?

k當它引用的行被刪除或修改時,使用該命令設置的標記被清除。如果該行因刪除或插入其他行而移動,則不會清除該標記。

這記錄在 GNUed手冊 ( info ed) 中,其中描述了k命令:

$$ … $$在刪除或以其他方式修改該行之前,不會清除該標記。$$ … $$

BSDed手冊有相同的措辭。

POSIX 標准文本沒有記錄與k命令相關的這一點,但對g命令說…

$$ … $$由命令列表修改的任何行都應取消標記。$$ … $$

引用自:https://unix.stackexchange.com/questions/705329