我正在學習Ed文本編輯器。 您知道要從輸入模式退出,用戶應在1個時間段內輸入一行(「。」)。如何在編輯期間逃脫
比方說,我想輸入文本的時期。 我想過一個解決方法。首先,我插入「..」。接下來,我將「..」替換爲「。」。
但我的方法有點笨拙。
我正在學習Ed文本編輯器。 您知道要從輸入模式退出,用戶應在1個時間段內輸入一行(「。」)。如何在編輯期間逃脫
比方說,我想輸入文本的時期。 我想過一個解決方法。首先,我插入「..」。接下來,我將「..」替換爲「。」。
但我的方法有點笨拙。
我沒有找到魔法轉義序列。
看來它不存在。
但這個鏈接 https://unix.stackexchange.com/questions/46111/how-to-write-a-literal-dot-in-ed
提供2個解決方案。首先我在我的問題中描述。第二個更接近逃避解決方案。
r ! echo .
通過閱讀GNU ed(1)
的C源文件,沒有轉義字符。在我一直想做到這一點的場合,我傾向於添加一個空行,然後使用快速換人:
a↵
↵
.↵
s/^/.↵
,或者你可以添加一個字符,然後將其刪除(它,如果你玩ed(1)
高爾夫),是一個性格比以上)更
a↵
x↵
.↵
s/./.↵
爲了記錄,這也是'diff -e'所做的。 'diff -e <(echo)<(printf'。\ n')' – Gumnos
你的方法很好,它甚至通過POSIX提示:輸入單個的_The典型的方法是用其他字符先於它,然後用替換命令刪除該字符。並且POSIX還指定在輸入模式下不存在轉義字符。 –